且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何为列创建一个多值?

更新时间:2022-12-10 12:22:37

foreach循环之前,您需要一次定义参数一次,然后进行设置它们在每次迭代中的值-像这样:

You need to define the parameters once, before the foreach loop, and then just set their values on each iteration - something like this:

using (SqlCommand cmd1 = new SqlCommand("spG_Groups", conn))
{
     cmd1.CommandType = CommandType.StoredProcedure;

     // define the parameters *ONCE*
     cmd1.Parameters.Add("@CName", SqlDbType.NVarChar, 450);
     cmd1.Parameters.Add("@CEmail", SqlDbType.VarChar, 250);
     cmd1.Parameters.Add("@GName", SqlDbType.NVarChar, 70);

     List<String> YrStrList1 = new List<string>(); 

     foreach (ListItem li in chGp.Items)
     {
         if (li.Selected)
         {
              YrStrList1.Add(li.Value);

              // just set the *VALUES* of the parameters
              cmd1.Parameters["@CName"].Value = txtCName.Value;
              cmd1.Parameters["@CEmail"].Value = txtemail.Value;
              cmd1.Parameters["@GName"].Value = YrStrList1.ToString();

              cmd1.ExecuteNonQuery();
         }
     }
}