gpt4 book ai didi

c# - 将 arraylist 值插入数据库

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:44 25 4
gpt4 key购买 nike

我在我的项目中使用了一个复选框列表。我使用下面的代码将所有选中的项目值存储在 arraylist 中

 ArrayList  services= new ArrayList();
for (int i = 0; i < chkservices.Items.Count; i++)
{
if (chkservices.Items[i].Selected == true)
{
services.Add(chkservices.Items[i].Text+',');
}
}

现在的问题是,当我将数据插入数据库而不是数组列表中的数据时,它会作为“System.Collections.ArrayList”插入,我如何才能在一次插入中将所有值插入数据库声明?

编辑

插入数据库

con.Open();
SqlCommand cmd = new SqlCommand("insert into XXX(First_Name,Last_Name,ServicesProvided) values ('" + txtfrstname.Text + "','" + txtlastname.Text + "','" + services + "')", con);
cmd.ExecuteNonQuery();
con.Close();

或者任何人都可以为我提供 arraylist 的替代方案..我需要从复选框列表中保存选中的项目并将其保存在数据库中

it should be saved in database as

First_Name Last_name ServicesProvided
user1firstname user1lastname selectedvalue1,
selectedvalue2,selectedvalue3

最佳答案

为什么不使用以下代码连接您的数据:

 var mydata = String.Join(',', chkservices.Items
.Where( a => a.Selected).Select( b => b.Text));

因此您可以将数据作为字符串添加。

编辑:连接字符串进行查询是一个非常糟糕的习惯!除了像您的情况这样的许多副作用之外,这是一个很大的安全漏洞。尝试使用参数化查询:

     SqlCommand cmd = new SqlCommand(
@"insert into XXX(First_Name,Last_Name,ServicesProvided) values
(@First_Name,@Last_Name,@ServicesProvided")", con);
cmd.Parameters.AddWithValue("@ServicesProvided", mydata);
cmd.Parameters.AddWithValue("@First_Name", frstname.Text);
cmd.Parameters.AddWithValue("@Last_Name", txtlastname.Text);
cmd.ExecuteNonQuery();

mydata 是我第一个示例中的变量。

关于c# - 将 arraylist 值插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8209895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com