C# 如何用最少的代码将多个文本框中的值插入数据库?

C# 如何用最少的代码将多个文本框中的值插入数据库?,c#,sql,C#,Sql,请容忍我。我需要将许多文本框和组合框中的值插入到DB中。现在,如果任何文本框或组合框为空,我希望跳过它,即DB中的上一个值(如果有)应保持不变。比如更新个人资料。如果你能来救我,我将非常高兴 我不想没完没了地写 cmd.Parameters.AddWithValues(…); 谢谢你的期待 编辑: 我想要一种情况,例如,如果用户试图输入新记录,但将某些字段留空,我将用他/她输入的值替换数据库中已有的内容。但是如果一个字段是空的,我想让数据库中已经存在的内容保持不变,选择不用空值替换它。谢谢 我

请容忍我。我需要将许多文本框和组合框中的值插入到DB中。现在,如果任何文本框或组合框为空,我希望跳过它,即DB中的上一个值(如果有)应保持不变。比如更新个人资料。如果你能来救我,我将非常高兴

我不想没完没了地写 cmd.Parameters.AddWithValues(…);

谢谢你的期待

编辑: 我想要一种情况,例如,如果用户试图输入新记录,但将某些字段留空,我将用他/她输入的值替换数据库中已有的内容。但是如果一个字段是空的,我想让数据库中已经存在的内容保持不变,选择不用空值替换它。谢谢


我在VS2010中使用C#,数据库是MSSQL。

我会将空值的null传递到数据库中,并使用sql,如:

下面是Transact-SQL for Microsoft SQL Server的一个示例,它使用isnull函数检查第一个参数是否为null,以及是否将列设置为自身(即不更改)

在C代码中,您可以使用:

string some_value_x = textbox_x.Text.Trim();
if(string.IsNullOrWhitespace(some_value_x)) 
       some_value_x = null;

我认为首选的方法是将DB中的现有值加载到文本框中,然后在更新时将它们保存回DB,这样用户可以根据需要清空一个字段。这将简化您的逻辑,并与当前的实践更加一致。

这样的事情怎么样:

          string s;

          foreach (Control cc in this.Controls)
          {
              if (cc is ComboBox || cc is TextBox)
              {
                  if (!string.IsNullOrEmpty(cc.Text))
                  {
                      s = cc.Text;
                      //Do something with the value
                  }
              }

如果某个内容是空的,您不想插入任何内容?您使用的是哪种数据库技术“我想飞越大西洋,但我不想花8个小时”您的用户如何清空数据库中的字段?他们如何删除现有值?如果您编辑问题以包含上述注释或问题中包含的附加信息,您可能会得到更好的响应。我明白在插入操作之前检查文本框字段中是否为空,但如何仅使用几行代码进行“批量”插入。谢谢。文本框中的值是否将存储在同一列中?
          string s;

          foreach (Control cc in this.Controls)
          {
              if (cc is ComboBox || cc is TextBox)
              {
                  if (!string.IsNullOrEmpty(cc.Text))
                  {
                      s = cc.Text;
                      //Do something with the value
                  }
              }