0

我是 C# ASP.NET 的新手。我在 CheckBoxList 中遇到问题,无法在数据库中添加多行的选定项目。

我有一页我在提交按钮上的数据库中插入产品信息。在页面中,我从数据库中绑定 CheckBoxList。

当我签入复选框时,我的产品代码将自动生成。如果我从复选框列表中选择了 2 个复选框,则只有一个复选框列表值将插入数据库。其他选中的复选框值或信息未插入数据库中。

在我的 Sql 表中,我插入产品名称、产品代码(将自动生成)产品标题等。

因此,当我在 CheckBoxList 中选择一次提交时,我希望在数据库中添加多行。

我的代码是

foreach (ListItem listitem in cblsubcat.Items)
{
  if (listitem.Selected == true)
  {
    product myproduct;
    myproduct = new product();
    myproduct.ProdName = txtproductname.Text.ToString().Trim();
    GetCategoryId();
    int Subcat_id = int.Parse(cblsubcat.SelectedValue.ToString());
    int Cat_id = int.Parse(cateid.ToString());
    gen_prod_code(Cat_id, Subcat_id);
    myproduct.ProdCode = prodcode;
    myproduct.ProdTitle = txtproductname.Text.ToString().Trim();
    myproduct.CatId = cateid;
    myproduct.SubCatID = int.Parse(cblsubcat.SelectedValue.ToString());
    ProductManager.InsertProductdata(myproduct);
  }

这是我在 Dataaccesslayer 中的 InsertProductdata 代码。

public static int InsertProductdata(product myproduct)
    {
        int result = 0;
        using (SqlConnection myConnection = new SqlConnection(AppConfiguration.ConnectionString))
        {
            SqlCommand myCommand = new SqlCommand("spInsertProductItem", myConnection);
            myCommand.CommandType = CommandType.StoredProcedure;
            myCommand.Parameters.AddWithValue("@Prod_code", myproduct.ProdCode);
            myCommand.Parameters.AddWithValue("@Prod_name", myproduct.ProdName);                
            myCommand.Parameters.AddWithValue("@Prod_title", myproduct.ProdTitle);
            myCommand.Parameters.AddWithValue("@Prod_sdesc", myproduct.ProdSdesc);
            myCommand.Parameters.AddWithValue("@Prod_ldesc", myproduct.ProdLdesc);
            myCommand.Parameters.AddWithValue("@Prod_features", myproduct.ProdFeatures);
            myCommand.Parameters.AddWithValue("@Prod_colour", myproduct.ProdColour);
            myCommand.Parameters.AddWithValue("@Prod_size", myproduct.ProdSize);
            myCommand.Parameters.AddWithValue("@Prod_height_FI", myproduct.ProdHeightFi);
            myCommand.Parameters.AddWithValue("@Prod_height_CM", myproduct.ProdHeightCm);
            myCommand.Parameters.AddWithValue("@Prod_totqty", myproduct.ProdTotqty);
            myCommand.Parameters.AddWithValue("@Prod_available_size", myproduct.ProdAvailablesize);
            myCommand.Parameters.AddWithValue("@Prod_available_qty", myproduct.ProdAvailableqty);                
            myCommand.Parameters.AddWithValue("@Prod_price", myproduct.ProdPrice);
            myCommand.Parameters.AddWithValue("@Prod_offerprice", myproduct.ProdOfferprice);
            myCommand.Parameters.AddWithValue("@Prod_img_M", myproduct.ProdImgM);
            myCommand.Parameters.AddWithValue("@Prod_img_D", myproduct.ProdImgD);
            myCommand.Parameters.AddWithValue("@Prod_img_S", myproduct.ProdImgS);
            myCommand.Parameters.AddWithValue("@Prod_img_L", myproduct.ProdImgL);
            myCommand.Parameters.AddWithValue("@Prod_img_XL", myproduct.ProdImgXL);
            myCommand.Parameters.AddWithValue("@Prod_img_F", myproduct.ProdImgF);
            myCommand.Parameters.AddWithValue("@Prod_img_B", myproduct.ProdImgB);
            myCommand.Parameters.AddWithValue("@Prod_visibility", myproduct.ProdVisibility);
            myCommand.Parameters.AddWithValue("@Prod_is_del", myproduct.Prodisdel);
            myCommand.Parameters.AddWithValue("@Prod_createddate", myproduct.ProdCreateddate);
            myCommand.Parameters.AddWithValue("@Prod_modifieddate", myproduct.ProdModifieddate);
            myCommand.Parameters.AddWithValue("@Prod_keyword", myproduct.ProdKeyword);
            myCommand.Parameters.AddWithValue("@Prod_alttag", myproduct.ProdAlttag);
            myCommand.Parameters.AddWithValue("@Cat_id", myproduct.CatId);
            myCommand.Parameters.AddWithValue("@Subcat_id", myproduct.SubCatID);
            myCommand.Parameters.AddWithValue("@is_Featured", myproduct.IsFeatured);
            myCommand.Parameters.AddWithValue("@is_Recent", myproduct.IsRecent);
            myCommand.Parameters.AddWithValue("@is_Popular", myproduct.IsPopular);
            myCommand.Parameters.AddWithValue("@title_tag", myproduct.TitleTag);
            myCommand.Parameters.AddWithValue("@meta_description", myproduct.MetaDescription);

            DbParameter returnValue;
            returnValue = myCommand.CreateParameter();
            returnValue.Direction = ParameterDirection.ReturnValue;
            myCommand.Parameters.Add(returnValue);

            myConnection.Open();
            myCommand.ExecuteNonQuery();
            result = Convert.ToInt32(returnValue.Value);
            myConnection.Close();
        }
        return result;
    }
4

0 回答 0