C#将多个TextField值插入SQL Server

时间:2014-07-17 23:19:33

标签: c# sql-server loops insert-into

我有一个包含3个文本字段的Panel,在每个文本字段中,用户可以输入年龄。如果用户在两个或多个文本字段中输入数字(循环正在运行,它只是不将下一个文本字段值插入数据库),那么一切似乎都能正常工作,除非它停止的部分。这就是场景:

Depdent 1 Age: 10
Depdent 1 Age: 12
Depdent 1 Age: 14

我希望将以下内容插入到我的表中

ID      age
1       10
2       12
3       14

当我点击提交时,它只插入第一条记录然后抛出错误,我知道错误是因为尝试将两个文本字段值插入数据库中的单元格然而我不知道如何修复它,我的表有一个ID字段,它是一个主键和自动增量。任何建议表示赞赏。谢谢。

这是我的代码:

const string query = "INSERT INTO deductible (age) VALUES (@age)";
using (var command = new SqlCommand(query, conn))
{
foreach (TextBox tb in Panel1.Controls.OfType<TextBox>())
{
    if (tb.Text != "0")
    {
        command.Parameters.AddWithValue("@age", tb.Text);
        command.ExecuteNonQuery();
    }
}

1 个答案:

答案 0 :(得分:2)

执行查询后使用SqlParameterCollection.Clear方法:

if (tb.Text != "0")
{
    command.Parameters.AddWithValue("@age", tb.Text);
    command.ExecuteNonQuery();
    command.Parameters.Clear();
}