日期:2014-05-17  浏览次数:20440 次

使用SqlParameter进行多变量传值AddRange疑问
SqlParameter pmer = new SqlParameter("@id", SqlDbType.Char);
pmer.Direction = ParameterDirection.Input;
pmer.Value = textbox1.Text.ToString().Trim();
SqlDataAdapter sda = new SqlDataAdapter();
sda.SelectCommand = new SqlCommand("select_admin", sqlcon);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
sda.SelectCommand.Parameters.Add(pmer);
DataSet ds = new DataSet();
sda.Fill(ds, "administrator");
这里调用的存储过程select_admin只有一个变量@id,上面的代码传一个值没问题。
但是如果遇到一个存储过程需要传两个以上的变量时,代码该如何修改?

------解决方案--------------------
生成多个pmer,调用sda.SelectCommand.Parameters.Add(pmer) 多次
或者:
SqlParameter[] pmers={new SqlParameter("@id",1),new SqlParameter("@name","herojams")};
sda.SelectCommand.Parameters.AddRange(pmers); 

------解决方案--------------------
sqlparameter[] args=new sqlparameter[4]
args[0].value="";
args[1].value="";
da.selectCommand.Parameters.AddRange(args)