我想将多个值添加到以逗号分隔的表格单元格中,我得到的表格是 ID,名称,类型。我想在name列中添加多个名称,因此该行将类似于:
ID Name Type
1 Peter, Jas , Roden , Karen Class A
我做了简单的插入:
[WebMethod]
public static string Insertion(string Name)
{
//List<string> result = new List<string>();
SqlConnection con = new SqlConnection("Data Source=XXX;Initial Catalog=XXX;User ID=sa;Password=XXXXX");
{
string query = "Insert into TestTable values @Name";
SqlCommand cmd = new SqlCommand(query, con);
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = Name;
{
con.Open();
cmd.ExecuteNonQuery();
//test();
con.Close();
return "True";
}
}
}
任何人都可以指导我如何添加多个名称,这些名称应该用逗号分隔,我也需要确保没有重复的名称。
答案 0 :(得分:1)
任何人都可以指导我如何添加多个名称,这些名称应该用逗号分隔
您需要使用参数化查询。它还可以帮助您避免SQL注入攻击。
像
cmd.Parameters.AddWithValue("@name",name);
我还需要确保没有重复的名称
这样的事情对你有用
string name = "a,b,c,d,a,b,c,d";
HashSet<string> h = new HashSet<string>(name.Split(','));
string distinctNames = string.Join(",", h);
答案 1 :(得分:1)
您可以将参数值发送为"Peter, Jas , Roden , Karen"
,然后将该文本插入到给定记录中。
但如果您要添加数组或名称列表,则可以轻松创建插入字符串,如下所示
var names = string.Join("," ,namesArray.Distinct());
现在您可以使用上面生成的名称字符串
来调用服务方法