C# sql更新整数类型

C# sql更新整数类型,c#,sql,C#,Sql,以下更新查询有问题 string sql = "update Car set plate = '" + textBox2.Text + "' , color='" + textBox3.Text + "' , model='"+textBox5.Text+ "' , year= " + textBox4.Text; sql += " where carid= " + textBox1.Text; int res = CarDatabase.execu

以下更新查询有问题

string sql = "update Car set plate = '" + textBox2.Text + "' , color='"
           + textBox3.Text + "' , model='"+textBox5.Text+ "' , year= "
           + textBox4.Text;
sql += " where carid= " + textBox1.Text;

int res = CarDatabase.executeOthers(sql);
if (res > 0)
{
    string sql2 = "select * from Car";
    DataTable dt = CarDatabase.executeSelect(sql2);
    mainframe.DataGridView1.DataSource = dt;
    MessageBox.Show("Updated Successfully");
}

实际上,我在向查询中添加年份时遇到了相同的问题。为什么?答案很简单,你的一个文本框中可能有破坏这一点的内容。更好的答案是永远不要以这种方式编写查询,因为它容易受到SQL注入攻击。您需要了解如何进行参数化查询


从阅读MSDN上的文章开始。

SQL注入攻击开始!错误或影响/输出是什么?那么预期的效果是什么呢?知道问题到底是什么会很有帮助。i、 抛出了什么错误,更新的行太少,行太多?嗯。。。。我真的不明白你认为我们能帮你什么,你什么也不说,埃罗?怎么了?等等…它说update语句错了:s