0

我想将多个值添加到以逗号分隔的表格单元格中,我得到的表格是 Id ,Name , Type 。我想在名称列中添加多个名称,因此该行将类似于:

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";

        }
    }
}

任何人都可以指导我如何添加多个应该用逗号分隔的名称,我还需要确保没有名称重复。

4

2 回答 2

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);
于 2013-09-17T08:18:53.823 回答
1

您可以发送参数值,因为"Peter, Jas , Roden , Karen"它将将该文本插入到给定的记录中。

但如果您有要添加的数组或名称列表,您可以轻松创建插入字符串,如下所示

var names = string.Join("," ,namesArray.Distinct());

现在您可以使用上面生成的名称字符串调用服务方法

于 2013-09-17T08:27:13.337 回答