我是 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;
}