ASP.NET执行存储过程
一. 执行一个没有参数的存储过程的代码如下:connectionString为连接字符串SqlConnection conn=new SqlConnection(connectionString); SqlDataAdapter da = new SqlDataAdapter();da.SelectCommand = new SqlCommand();da.SelectCommand.Connection = conn;//myProc存储过程的名字da.SelectCommand.CommandText = "myProc";da.SelectCommand.CommandType = CommandType.StoredProcedure; 二. 执行一个有参数的存储过程的代码如下SqlConnection conn=new SqlConnection(connectionString); SqlDataAdapter da = new SqlDataAdapter(); da.selectCommand = new SqlCommand(); da.selectCommand.Connection = conn; da.selectCommand.CommandText = "NameOfProcedure"; da.selectCommand.CommandType = CommandType.StoredProcedure; param = new SqlParameter("@ParameterName", SqlDbType.DateTime); param.Direction = ParameterDirection.Input; param.Value = Convert.ToDateTime(inputdate); da.selectCommand.Parameters.Add(param); 若需要添加输出参数: param = new SqlParameter("@ParameterName", SqlDbType.DateTime); param.Direction = ParameterDirection.Output; param.Value = Convert.ToDateTime(inputdate); da.selectCommand.Parameters.Add(param); 若要获得参储过程的返回值: param = new SqlParameter("@ParameterName", SqlDbType.DateTime); param.Direction = ParameterDirection.ReturnValue; param.Value = Convert.ToDateTime(inputdate); da.selectCommand.Parameters.Add(param);
try
{ //****进行数据连接****// string conString="server=localhost;database=stuDB;uid=sa";//连接串 SqlConnection sqlConnection=new SqlConnection(conString);//创建连接对象 sqlConnection.Open();//打开连接 SqlCommand sqlCommand=new SqlCommand();//创建SqlCommand命令对象 sqlCommand.Connection=sqlConnection;//SqlCommand命令对象的连接属性赋值 sqlCommand.CommandType=CommandType.StoredProcedure;//**************命令对象的类型为执行数据库的存储过程*********** string sql = string.Format("proc_insert_stuClass");//Sql语句为数据库的存储过程 sqlCommand.CommandText=sql;//命令文本 //****设置存储过程的参数****// SqlParameter sp1=new SqlParameter("@outcome",SqlDbType.Bit);//创建参数对象,并设置@outcome参数的类型为Bit类型 sp1.Direction=System.Data.ParameterDirection.Output;//设置此项参数的类型为输出参数 sqlCommand.Parameters.Add(sp1);//将此项参数添加到命令参数集SqlParameter sp=new SqlParameter("@classNo",SqlDbType.VarChar);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数 sp.Value=this.textBox1.Text;//给输入参数赋值 sqlCommand.Parameters.Add(sp);sp=new SqlParameter("@classCount",SqlDbType.Int);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数 sp.Value=this.textBox2.Text;//给输入参数赋值 sqlCommand.Parameters.Add(sp);sp=new SqlParameter("@classTeacher",SqlDbType.VarChar);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数 sp.Value=this.textBox3.Text;//给输入参数赋值 sqlCommand.Parameters.Add(sp);sp=new SqlParameter("@classNote",SqlDbType.VarChar);
sp.Direction=System.Data.ParameterDirection.Input;//设置此项参数的类型为输入参数 sp.Value=this.textBox4.Text;//给输入参数赋值 sqlCommand.Parameters.Add(sp);//****执行存储过程****//
sqlCommand.ExecuteNonQuery();//执行存储过程 string outcome=sp1.Value.ToString();//将输出参数的值取出 Console.WriteLine(outcome); } catch(Exception ex) { MessageBox.Show(ex.Message); }