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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持毛票票!