Asp .net 调用带参数的存储过程
1.后台调用带参数的存储过程详解
例:
注明:@AnalysisDate,@Process_PTR为存储过程参数
IDataParameter[]iDataDi=newSqlParameter[2];
iDataDi[0]=newSqlParameter("@AnalysisDate",showDate);
iDataDi[1]=newSqlParameter("@Process_PTR",ID);
//获取检测项所选日期的不同时间
dtDifferTime=SqlHelper.RunProceduresByParameter("pro_GetDifferenceTimeInfos",iDataDi);
//SqlHelper中的RunProceduresByParameter(stringstoredProcName,IDataParameter[]parameters)方法:
///
///执行带参数的存储过程,返回DataSet类型
///
///
///
///
publicstaticDataSetRunProceduresByParameter(stringstoredProcName,IDataParameter[]parameters)
{
using(SqlConnectionconnection=newSqlConnection(connectionString))
{
DataSetdataSet=newDataSet();
connection.Open();
SqlDataAdaptersqlDA=newSqlDataAdapter();
sqlDA.SelectCommand=BuildQueryCommand(connection,storedProcName,parameters);
sqlDA.Fill(dataSet);
connection.Close();
connection.Dispose();
returndataSet;
}
}
///
///构建SqlCommand对象(用来返回一个结果集,而不是一个整数值)
///
///数据库连接
///存储过程名
///存储过程参数
///SqlCommand
privatestaticSqlCommandBuildQueryCommand(SqlConnectionconnection,stringstoredProcName,IDataParameter[]parameters)
{
SqlCommandcommand=newSqlCommand(storedProcName,connection);
command.CommandType=CommandType.StoredProcedure;
foreach(SqlParameterparameterinparameters)
{
command.Parameters.Add(parameter);
}
returncommand;
}
2.存储过程创建语句
USE[RedBSys_DB] GO /******Object:StoredProcedure[dbo].[pro_GetDifferenceTimeInfos]ScriptDate:2017-03-2216:34:13******/ SETANSI_NULLSON GO SETQUOTED_IDENTIFIERON GO --获取检测项当天日期不同时间 CREATEproc[dbo].[pro_GetDifferenceTimeInfos] @AnalysisDatevarchar(50), @Process_PTRint AS selectdistinct(AnalysisDate)fromAssay_BillMain whereCONVERT(varchar(100),AnalysisDate,23)=@AnalysisDateandProcess_PTR=@Process_PTR orderbyAnalysisDateASC GO
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!