string Update = "UPDATE VehicleReport" +
"SET VehicleReg ='"+textBox1.Text+"',CurrentOdometer ='"+textBox5.Text+"',NextService ='"+textBox6.Text+"'" +
"WHERE Vehiclenum ='"+comboBox1.Text+"' ;";
try
{
SqlConnection conn = new SqlConnection("Data Source=(local);Initial Catalog=FleetTrackingDatabase;Integrated Security=SSPI");
conn.Open();
SqlCommand cmd = new SqlCommand(Update, conn);
cmd.ExecuteNonQuery();
conn.Close();
MessageBox.Show("Updated");
conn.Close();
}
catch (System.Exception f)
{
MessageBox.Show(f.Message, "ERROR");
}
-1
A
回答
1
至少,这是不正确的:
string Update = "UPDATE VehicleReport" + "SET ...
需要VehicleReport和设置
string Update = "UPDATE VehicleReport " + "SET....
0
空间
之间添加添加一个空格"UPDATE VehicleReport" +
" SET VehicleReg ='"+textBox1.Text+"',CurrentOdometer ='"+textBox5.Text+"',NextService='"+textBox6.Text+"'" +
" WHERE Vehiclenum ='"+comboBox1.Text+"' ;";
0
表名缺失空间:
string Update = "UPDATE VehicleReport"
string Update = "UPDATE VehicleReport "
,您可以尝试在此之前WHERE
0
相同,
string Update = "UPDATE VehicleReport SET VehicleReg ='"+textBox1.Text+"',CurrentOdometer ='"+textBox5.Text+"',NextService ='"+textBox6.Text+"'" + " WHERE Vehiclenum ='"+comboBox1.Text+"' ;";
0
我真的很震惊有4个答案,但没有人有关参数SQL和SQL注入攻击,但无论如何提及。
正如其他人提到的那样,您需要位于SET
和WHERE
之间的空格。
但更重要的是,请勿使用此方法。当您在查询中使用字符串连接时,您的代码将打开为SQL Injection
。相反,你应该总是使用parameterizezd queries
。
例如;
string Update = "UPDATE VehicleReport SET VehicleReg = @vehiclereg, CurrentOdometer = @current, NextService = @next WHERE Vehiclenum = @vehiclenum;";
SqlCommand cmd = new SqlCommand(Update, conn);
cmd.Parameters.AddWithValue("@vehiclereg", textBox1.Text);
cmd.Parameters.AddWithValue("@current", textBox5.Text);
cmd.Parameters.AddWithValue("@next", textBox6.Text);
cmd.Parameters.AddWithValue("@vehiclenum", comboBox1.Text);
相关问题
- 1. 它给了我一个GPS的错误
- 2. 即使我添加方法UICollectionViewDataSource它给了我一个错误
- 3. 它给了我错误
- 4. iPython给我一个语法错误
- 5. 错误每它给了我一个错误的时间SQL UPDATE语句
- 6. 不能找到一个错误,但它给了我一个
- 7. 我添加了一个滚动型,它给了我一个错误
- 8. 我想创造一个表,但它给了我错误1046
- 9. 我跑intelhaxm-android.exe,它给了我错误
- 10. GWTTestCase给了我一个错误
- 11. EXE给了我一个错误
- 12. savedInstanceState给了我一个错误的值
- 13. SQL服务器 - 给出了一个语法错误
- 14. Symfony and Assetic; NodeJS'UglifyCSS给出了一个语法错误
- 15. 这个查询工作完美,但现在它给我一个语法错误
- 16. SQL语句是给我一个错误,它尽管
- 17. managedObjectContext给了一个错误
- 18. 我犯了一个git错误,我似乎无法修复它。
- 19. 当创建一个timer.SImple它给了我错误的参数#2错误
- 20. 我在这个NSTimer中做了什么错误,为什么它给了我一个错误信息?
- 21. PHP页面无法加载。相反,它给了我一个404错误
- 22. 我认为它的一切正常,但它给了一些简单的mysql语法错误
- 23. 我的python计算器给出了一个无效的语法错误
- 24. 为什么这个剃须刀语法给我一个错误?
- 25. 我有一个语法错误,帮我
- 26. 我在MATCH()里面试过CASE,但它给出了语法错误
- 27. 我第一次启动fileZilla它给了我一个错误,我做错了什么?
- 28. 我想创建一个表,但它给我一个错误
- 29. 我被一个看似简单的语法错误难倒了
- 30. 我得到了一个strage PHP语法错误
这里有SQL注入的危险,请参数化您的UPDATE语句并验证用户输入。 – bump
[SQL注入警报](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105%29.aspx) - 你应该**不**连接你的SQL语句 - 使用**参数化查询**,而不是为了避免SQL注入 –
@marc_s我同意你的看法,但我只是想提一提,我喜欢该URL中的代码甚至在语法上都不合法。 –