c# - 如何拆分逗号分隔值

标签 c# asp.net sql gridview

我在 gridview 中有一个文本框,我正在执行并插入循环遍历 gridview 中每一行的语句。我现在的问题是我可以在文本框中有多个名称,如下所示:

John Carter, Mike David, John Edward,

那么我如何拆分每个单独的名称并将其插入到具有相同 ID 的表中呢?例如,如果当前行的 ID =12,那么我的表格将如下所示:

ID      Full_Name
12     John Carter
12     Mike David
12     John Edward

这是我的代码:

 foreach (GridViewRow row in GridView1.Rows)
        {
            if (row.RowType == DataControlRowType.DataRow)
            {
                Label ID = row.FindControl("lbl_ID") as Label;                
                TextBox myUID = row.FindControl("txt_UID") as TextBox;
                string Full_Name = Request.Form[row.FindControl("txt_UID").UniqueID];

                SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConn"].ConnectionString);
                SqlCommand cmd = new SqlCommand();

                cmd.CommandType = CommandType.Text;
                cmd.CommandText = @"if not exists(select ID from myTable where ID = @ID)
                                   insert into myTable(ID, Full_Name) values(@ID, @Full_Name)
                                    else update myTable set Full_Name =@Full_Name where ID =@ID";

                cmd.Parameters.Add("@ID", SqlDbType.VarChar).Value = ID.Text;
                cmd.Parameters.Add("@Full_Name", SqlDbType.VarChar).Value = Full_Name.ToString();

                cmd.Connection = con;
                con.Open();
                cmd.ExecuteNonQuery();
                con.Close();

            }
}

最佳答案

string str = "John Carter, Mike David, John Edward,";
string[] names = str.Split(',');
foreach (string name in names)
{
    if (name.Equals(""))
        continue;

    ///dbstuff
    ///insert into myTable(ID, Full_Name) values(@ID, @name)
    ///etc, etc
}

强烈假设 ID 不是主键。只要 ID 不是唯一的且不是 key ,这种方法就应该有效。

关于c# - 如何拆分逗号分隔值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22025224/

相关文章:

c# - 这种类型的功能或技术有名称吗?

c# - WPF(MVVM)中的工作和服务实现单元

c# - 登录 asp.net 应用程序的建议

c# - ASP.NET MVC 与 WebForms 对比大型项目的首页加载速度

javascript - 客户端文件大小结束格式验证。为什么 JS 会阻止文件上传?

c# - 如何在 gridview c# asp.net 中添加超链接到 boundfield

返回多个记录集的 MySQL 存储过程

SQL Server : most frequent value in each row

php - 从 MIN(CAST(.. AS DATETIME)) 输出获取值到 php 错误

c# - 模型中 2 个不同属性的相同远程验证