如何在VB.NET中使用此SQL UPDATE查询

时间:2011-03-22 03:18:05

标签: sql vb.net

这里textbox11包含一个浮点值,组合框包含一个字符串,我必须放置文本或选中的项目

cmd.CommandType = "UPDATE BALANCE SET OBBALANCE =  '"& TextBox11.Text &"' WHERE     CUSTOMERNAME = "& ComboBox1.Text & " "

它出现以下错误:

Operator '&' is not defined for string " UPDATE BALANCE SET OBBALANCE = " and type 'DataRowView'.

3 个答案:

答案 0 :(得分:2)

相反,你应该使用参数,因为它们都被转义为sql注入并且做出更整洁的数据捕获:

cmd.CommandType = " UPDATE BALANCE SET OBBALANCE =  @NEWBALANCE WHERE CUSTOMERNAME = @CUSTOMERNAME"

并为以下内容添加parameterwithvalue:

"@NEWBALANCE", TextBox11.Text
"@CUSTOMERNAME", ComboBox1.Text

请参阅http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparameter.aspx

答案 1 :(得分:0)

  1. 我不建议使用内联SQL查询。改为使用存储过程并传递参数。

  2. 如果您传递文字 - 您将获得显示值...如果您想传递基础值,请使用“SelectedValue”

  3. 但是要解决您的问题,请使用参数。

答案 2 :(得分:0)

可用的CommandType是

的StoredProcedure TableDirect 文本

您希望将CommandType设置为Text并将CommandText设置为您拥有的内容。

那就是说,我同意stefan关于参数的答案。