[英]How do I insert values from many textboxes into my database with minimal code?
请您多多包涵 我需要将许多文本框和组合框中的值插入数据库。 现在,如果任何文本框或组合框为EMPTY,我希望跳过该文本框,即,应保持数据库中的上一个值(如果有)不受影响。 例如更新个人资料。 如果你能来救我,我会很高兴。
我不想写无尽的cmd.Parameters.AddWithValues(...); ...
谢谢您的期待。
编辑:例如,我想要一种情况,如果用户尝试输入新记录但将某些字段留空,我将用他/她输入的值替换数据库中已有的内容。 但是,如果一个字段为空,则我希望不更改数据库中已有的内容,选择不将其替换为空值。 谢谢。
我在VS2010中使用C#,数据库为MSSQL。
我会将一个空值传递给db并使用sql来像这样:
这是用于Microsoft SQL Server的Transact SQL的示例,该示例使用isnull函数,该函数检查第一个参数是否为null以及是否将列设置为其自身(即,不对其进行更改)。
update the_table
set
col_x = isnull(@some_value_x, col_x),
col_7 = isnull(@some_value_y, col_y)
.
.
.
在C#代码中,您可以使用:
string some_value_x = textbox_x.Text.Trim();
if(string.IsNullOrWhitespace(some_value_x))
some_value_x = null;
我认为首选方法是将数据库中的现有值加载到文本框中,然后在更新时将其保存回数据库中,以便用户可以根据需要清空该字段。 这将简化您的逻辑,并与当前实践更加一致。
像这样的事情呢:
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
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.