SqlCommand cmd = new SqlCommand("proc", conn);
cmd.CommandType = CommandType.StoredProcedure;SqlParameter sp = new SqlParameter("@test_in",SqlDbType.VarChar, 20);
sp.Value = "输入参数";
cmd.Parameters.Add(sp);
上面的方法当要给存储过程传多个参数时怎么修改,请高手指教。

解决方案 »

  1.   

    SqlParameter sp = new SqlParameter("@test_in",SqlDbType.VarChar, 20); 
    sp.Value = "输入参数"; 
    cmd.Parameters.Add(sp); 
     sp = new SqlParameter("@test_in2",SqlDbType.VarChar, 20); 
    sp.Value = "输入参数2"; 
    cmd.Parameters.Add(sp);
      

  2.   

    SqlCommand cmd = new SqlCommand("proc", conn);
    cmd.CommandType = CommandType.StoredProcedure;就是多加几个下面你写的这些。
    SqlParameter sp = new SqlParameter("@test_in",SqlDbType.VarChar, 20);
    sp.Value = "输入参数";
    cmd.Parameters.Add(sp); 
      

  3.   


    定义多个变量:
    SqlParameter sp1 = new SqlParameter("@test_in",SqlDbType.VarChar, 20); 
    sp1.Value = "输入参数"; 
    cmd.Parameters.Add(sp1); 
    SqlParameter sp2 = new SqlParameter("@test_in2",SqlDbType.VarChar, 20); 
    sp2 .Value = "输入参数2"; 
    cmd.Parameters.Add(sp2 );或者用数组也可以实现
      

  4.   

    SqlCommand cmd = new SqlCommand("proc", conn); 
    cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.add("@test_in",SqlDbType.VarChar);
    cmd.Parameters.["@test_in"].value="参数1";cmd.Parameters.add("@test_in2",SqlDbType.VarChar);
    cmd.Parameters.["@test_in2"].value="参数2";cmd.Parameters.add("@test_in3",SqlDbType.VarChar);
    cmd.Parameters.["@test_in3"].value="参数3";
      

  5.   

    参数和值放到List里,循环判断赋值
      

  6.   

    SqlCommand cmd = new SqlCommand("proc", conn);
    cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.add("@test_in",SqlDbType.VarChar).value="参数1";
    cmd.Parameters.add("@test_in2",SqlDbType.VarChar).value="参数2";
    cmd.Parameters.add("@test_in3",SqlDbType.VarChar).value="参数3"; 
    这样子代码少了不少啊
      

  7.   

      SqlParameter[] parm = new SqlParameter[2];
      parm[0] = new SqlParameter("parameterName1", Value1);
      parm[1] = new SqlParameter("parameterName2", Value2);
      command.Parameters.AddRange(parm);
      

  8.   

    我这个比较复杂了点
    string ConnString = ConfigurationSettings.AppSettings["DBConnString"];
    Vars.g_connectionstring = ConnString;
    //SqlConnection myConnection = new SqlConnection(ConnString);
                    SqlConnection myConnection = new SqlConnection(Vars.g_connectionstring);
    myConnection.Open(); SqlCommand myCommand = new SqlCommand("SP_Name") ;
    myCommand.Connection = myConnection;
    myCommand.CommandType = CommandType.StoredProcedure;

    SqlParameter myParameter1 = new SqlParameter("@RETURN_VALUE",SqlDbType.Int,4);
                    SqlParameter myParameter2 = new SqlParameter("@User",SqlDbType.VarChar,50);
                    SqlParameter myParameter3 = new SqlParameter("@Password",SqlDbType.VarChar,50);
                    SqlParameter myParameter4 = new SqlParameter("@Msg",SqlDbType.VarChar,50); myParameter1.Direction = ParameterDirection.ReturnValue;
                    myParameter2.Direction = ParameterDirection.Input;
                    myParameter3.Direction = ParameterDirection.Input;
                    myParameter4.Direction = ParameterDirection.Output;                myCommand.Parameters.Add(myParameter1);
                    myCommand.Parameters.Add(myParameter2);
                    myCommand.Parameters.Add(myParameter3);
                    myCommand.Parameters.Add(myParameter4); //Vars.g_connectionstring = ConnString;
    FFWEB.DatabaseWrapper DataW = new FFWEB.DatabaseWrapper();
    Vars.FF_Ver = DataW.FF_Ver();
    myCommand.Parameters["@User"].Value = this.txtUser.Text; 
    myCommand.Parameters["@Password"].Value = Vars.FF_Ver>21?FFWEB.UtilityManagerFF22.EncryptString(this.txtPassword.Text.Trim().ToUpper()):this.txtPassword.Text.Trim().ToUpper() ;                

    myCommand.ExecuteNonQuery();