[转]ASP.Net中怎样获得存储过程传出的参数
转自:浪剑
 //-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
 //测试获得存储过程传出的参数
//测试获得存储过程传出的参数
 //OLEDB方式,测试通过
//OLEDB方式,测试通过
 //-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
 OleDbCommand myCommand=new OleDbCommand();
   OleDbCommand myCommand=new OleDbCommand();
 myCommand.Connection=cn;
   myCommand.Connection=cn;
 if(cn.State== ConnectionState.Closed){
   if(cn.State== ConnectionState.Closed){
 cn.Open();
    cn.Open();
 }
   }
 myCommand.CommandText="ShowCmdTest";
   myCommand.CommandText="ShowCmdTest";
 myCommand.CommandType=System.Data.CommandType.StoredProcedure;
   myCommand.CommandType=System.Data.CommandType.StoredProcedure;
 myCommand.CommandTimeout = 20;
   myCommand.CommandTimeout = 20;

 OleDbParameter inPara=new OleDbParameter("@inA",OleDbType.VarChar,80);
   OleDbParameter inPara=new OleDbParameter("@inA",OleDbType.VarChar,80);
 inPara.Value="5";
   inPara.Value="5";
 inPara.Direction=ParameterDirection.Input;
   inPara.Direction=ParameterDirection.Input;
 myCommand.Parameters.Add(inPara);
   myCommand.Parameters.Add(inPara);
 OleDbParameter outPara=new OleDbParameter("@outB",OleDbType.VarChar,80);
   OleDbParameter outPara=new OleDbParameter("@outB",OleDbType.VarChar,80);
 outPara.Direction=ParameterDirection.Output;
   outPara.Direction=ParameterDirection.Output;
 myCommand.Parameters.Add(outPara);
   myCommand.Parameters.Add(outPara);
 myCommand.ExecuteNonQuery();
   myCommand.ExecuteNonQuery();
 Response.Write(outPara.Value);
   Response.Write(outPara.Value);
 OleDbDataReader myReader = myCommand.ExecuteReader();
   OleDbDataReader myReader = myCommand.ExecuteReader();
 DataTable dt = new DataTable();
   DataTable dt = new DataTable();
 dt.Columns.Add("SubjectName");
   dt.Columns.Add("SubjectName");
 dt.Columns.Add("CreateDate");
   dt.Columns.Add("CreateDate");
 while(myReader.Read())
   while(myReader.Read()) 
 {
   {
 DataRow workRow = dt.NewRow();
    DataRow workRow = dt.NewRow();
 workRow["SubjectName"] = myReader.GetValue(1);
    workRow["SubjectName"] = myReader.GetValue(1);
 workRow["CreateDate"] = myReader.GetValue(2);
    workRow["CreateDate"] = myReader.GetValue(2);
 dt.Rows.Add(workRow);
    dt.Rows.Add(workRow);
 //Response.Write(myReader.GetValue(0).ToString()+"<br>");
    //Response.Write(myReader.GetValue(0).ToString()+"<br>");
 }
   }
 myReader.Close();
   myReader.Close();
 //BindGrid();
   //BindGrid();
 MyDataGrid.DataSource = dt.DefaultView;// myReader;
   MyDataGrid.DataSource = dt.DefaultView;// myReader;
 MyDataGrid.DataBind();
   MyDataGrid.DataBind();


 //-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
 //测试获得存储过程传出的参数
//测试获得存储过程传出的参数
 //SqlClient方式,测试通过
//SqlClient方式,测试通过
 //-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
 //连接数据库
   //连接数据库
 SqlConnection sqlconn=new SqlConnection();
   SqlConnection sqlconn=new SqlConnection();
 sqlconn.ConnectionString="server=192.168.3.80;uid=sa;Password=rain;database=MyStudy";
   sqlconn.ConnectionString="server=192.168.3.80;uid=sa;Password=rain;database=MyStudy";
 //server=192.168.3.80;uid=sa;Password=rain;database=MyStudy";
   //server=192.168.3.80;uid=sa;Password=rain;database=MyStudy";
 sqlconn.Open();
   sqlconn.Open();
 SqlCommand com=new SqlCommand();
   SqlCommand com=new SqlCommand();
 com.Connection=sqlconn;
   com.Connection=sqlconn;

 com.CommandText="ShowCmdTest";
   com.CommandText="ShowCmdTest";
 com.CommandType=CommandType.StoredProcedure;
   com.CommandType=CommandType.StoredProcedure;
 SqlParameter[] p_htno=new SqlParameter[2];
   SqlParameter[] p_htno=new SqlParameter[2];
 p_htno[0] = new SqlParameter("@inA",SqlDbType.VarChar,80);
   p_htno[0] = new SqlParameter("@inA",SqlDbType.VarChar,80);
 p_htno[1] = new SqlParameter("@outB",SqlDbType.VarChar,80);
   p_htno[1] = new SqlParameter("@outB",SqlDbType.VarChar,80);
 p_htno[0].Value ="测试输入";
   p_htno[0].Value ="测试输入";  
 p_htno[1].Direction=ParameterDirection.Output;
   p_htno[1].Direction=ParameterDirection.Output;
 //p_htno[1].Value = this.drop_character.Items[this.drop_character.SelectedIndex].Value;
   //p_htno[1].Value = this.drop_character.Items[this.drop_character.SelectedIndex].Value;

 for ( int i =0 ;i< p_htno.Length;i++)
   for ( int i =0 ;i< p_htno.Length;i++)
 {
   {
 com.Parameters.Add(p_htno[i]);
    com.Parameters.Add(p_htno[i]);
 }
   }
 com.ExecuteNonQuery();
   com.ExecuteNonQuery();
 Response.Write(p_htno[1].Value.ToString()+"<br>测试输出成功!");
   Response.Write(p_htno[1].Value.ToString()+"<br>测试输出成功!");

 
 //-------------------------------------------------------------------------------
//------------------------------------------------------------------------------- //测试获得存储过程传出的参数
//测试获得存储过程传出的参数 //OLEDB方式,测试通过
//OLEDB方式,测试通过 //-------------------------------------------------------------------------------
//------------------------------------------------------------------------------- OleDbCommand myCommand=new OleDbCommand();
   OleDbCommand myCommand=new OleDbCommand(); myCommand.Connection=cn;
   myCommand.Connection=cn; if(cn.State== ConnectionState.Closed){
   if(cn.State== ConnectionState.Closed){ cn.Open();
    cn.Open(); }
   } myCommand.CommandText="ShowCmdTest";
   myCommand.CommandText="ShowCmdTest"; myCommand.CommandType=System.Data.CommandType.StoredProcedure;
   myCommand.CommandType=System.Data.CommandType.StoredProcedure; myCommand.CommandTimeout = 20;
   myCommand.CommandTimeout = 20;
 OleDbParameter inPara=new OleDbParameter("@inA",OleDbType.VarChar,80);
   OleDbParameter inPara=new OleDbParameter("@inA",OleDbType.VarChar,80); inPara.Value="5";
   inPara.Value="5"; inPara.Direction=ParameterDirection.Input;
   inPara.Direction=ParameterDirection.Input; myCommand.Parameters.Add(inPara);
   myCommand.Parameters.Add(inPara); OleDbParameter outPara=new OleDbParameter("@outB",OleDbType.VarChar,80);
   OleDbParameter outPara=new OleDbParameter("@outB",OleDbType.VarChar,80); outPara.Direction=ParameterDirection.Output;
   outPara.Direction=ParameterDirection.Output; myCommand.Parameters.Add(outPara);
   myCommand.Parameters.Add(outPara); myCommand.ExecuteNonQuery();
   myCommand.ExecuteNonQuery(); Response.Write(outPara.Value);
   Response.Write(outPara.Value); OleDbDataReader myReader = myCommand.ExecuteReader();
   OleDbDataReader myReader = myCommand.ExecuteReader(); DataTable dt = new DataTable();
   DataTable dt = new DataTable(); dt.Columns.Add("SubjectName");
   dt.Columns.Add("SubjectName"); dt.Columns.Add("CreateDate");
   dt.Columns.Add("CreateDate"); while(myReader.Read())
   while(myReader.Read())  {
   { DataRow workRow = dt.NewRow();
    DataRow workRow = dt.NewRow(); workRow["SubjectName"] = myReader.GetValue(1);
    workRow["SubjectName"] = myReader.GetValue(1); workRow["CreateDate"] = myReader.GetValue(2);
    workRow["CreateDate"] = myReader.GetValue(2); dt.Rows.Add(workRow);
    dt.Rows.Add(workRow); //Response.Write(myReader.GetValue(0).ToString()+"<br>");
    //Response.Write(myReader.GetValue(0).ToString()+"<br>"); }
   } myReader.Close();
   myReader.Close(); //BindGrid();
   //BindGrid(); MyDataGrid.DataSource = dt.DefaultView;// myReader;
   MyDataGrid.DataSource = dt.DefaultView;// myReader; MyDataGrid.DataBind();
   MyDataGrid.DataBind();

 //-------------------------------------------------------------------------------
//------------------------------------------------------------------------------- //测试获得存储过程传出的参数
//测试获得存储过程传出的参数 //SqlClient方式,测试通过
//SqlClient方式,测试通过 //-------------------------------------------------------------------------------
//------------------------------------------------------------------------------- //连接数据库
   //连接数据库 SqlConnection sqlconn=new SqlConnection();
   SqlConnection sqlconn=new SqlConnection(); sqlconn.ConnectionString="server=192.168.3.80;uid=sa;Password=rain;database=MyStudy";
   sqlconn.ConnectionString="server=192.168.3.80;uid=sa;Password=rain;database=MyStudy"; //server=192.168.3.80;uid=sa;Password=rain;database=MyStudy";
   //server=192.168.3.80;uid=sa;Password=rain;database=MyStudy"; sqlconn.Open();
   sqlconn.Open(); SqlCommand com=new SqlCommand();
   SqlCommand com=new SqlCommand(); com.Connection=sqlconn;
   com.Connection=sqlconn;
 com.CommandText="ShowCmdTest";
   com.CommandText="ShowCmdTest"; com.CommandType=CommandType.StoredProcedure;
   com.CommandType=CommandType.StoredProcedure; SqlParameter[] p_htno=new SqlParameter[2];
   SqlParameter[] p_htno=new SqlParameter[2]; p_htno[0] = new SqlParameter("@inA",SqlDbType.VarChar,80);
   p_htno[0] = new SqlParameter("@inA",SqlDbType.VarChar,80); p_htno[1] = new SqlParameter("@outB",SqlDbType.VarChar,80);
   p_htno[1] = new SqlParameter("@outB",SqlDbType.VarChar,80); p_htno[0].Value ="测试输入";
   p_htno[0].Value ="测试输入";   p_htno[1].Direction=ParameterDirection.Output;
   p_htno[1].Direction=ParameterDirection.Output; //p_htno[1].Value = this.drop_character.Items[this.drop_character.SelectedIndex].Value;
   //p_htno[1].Value = this.drop_character.Items[this.drop_character.SelectedIndex].Value;
 for ( int i =0 ;i< p_htno.Length;i++)
   for ( int i =0 ;i< p_htno.Length;i++) {
   { com.Parameters.Add(p_htno[i]);
    com.Parameters.Add(p_htno[i]); }
   } com.ExecuteNonQuery();
   com.ExecuteNonQuery(); Response.Write(p_htno[1].Value.ToString()+"<br>测试输出成功!");
   Response.Write(p_htno[1].Value.ToString()+"<br>测试输出成功!");

 
                     
                    
                 
                    
                
 
 
   
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号