mysql - VB.NET:使用变量生成 MySQL 查询

标签 mysql .net vb.net variables

我编写了下面的代码来更新我的表格,但它不起作用。

sqlstr = "UPDATE Student SET " & S & " = @field1, " & L & " = @field2, " & R & " =@field3, " & W & "=@field4 WHERE Code='" & StdID & "'"
DBCmd = New MySql.Data.MySqlClient.MySqlCommand(sqlstr, DBConn)
With DBCmd
        .Parameters.AddWithValue("@field1", CB_S.SelectedItem)
        .Parameters.AddWithValue("@field2", CB_L.SelectedItem)
        .Parameters.AddWithValue("@field3", CB_R.SelectedItem)
        .Parameters.AddWithValue("@field4", CB_W.SelectedItem)
    End With
    DBCmd.Dispose()

其中 S、L、R 和 W 是字符串:S1、L1、R1、W1。 StdID 是一个整数。 CB_S、CB_L、CB_R 和 CB_W 是组合框。

谁能告诉我出了什么问题吗?

最佳答案

您没有打开连接并调用ExecuteNonQUery()。还参数化了 Code

的值
sqlstr = "UPDATE Student SET " & S & " = @field1, " & L & " = @field2, " & R & " =@field3, " & W & "=@field4 WHERE Code=@code"
DBCmd = New MySql.Data.MySqlClient.MySqlCommand(sqlstr, DBConn)
With DBCmd
        .Parameters.AddWithValue("@field1", CB_S.SelectedItem)
        .Parameters.AddWithValue("@field2", CB_L.SelectedItem)
        .Parameters.AddWithValue("@field3", CB_R.SelectedItem)
        .Parameters.AddWithValue("@field4", CB_W.SelectedItem)
        .Parameters.AddWithValue("@code", StdID)
End With
DBConn.Open()
DBCmd.ExecuteNonQuery()

关于mysql - VB.NET:使用变量生成 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15865249/

相关文章:

c# - 将 C# 代码转换为 vb.net 问题 (Windows RT)

.net - 从字典生成数据表

c# - 仅允许条形码扫描器并消除键盘输入

mysql - 尝试将现有查询转换为存储过程,gis

php - 使用 PHP 通过外键关系显示 MySQL 表属性

c# - Lazy<T> ExecutionAndPublication - 可能导致死锁的示例

javascript - 在新窗口中显示部分页面

asp.net - IIS 服务器内存不足会导致 SQL 超时(SQL Server 在单独的机器上)吗?

php - jquery监听数据库变化

mysql - 基于由 union 子句创建的联接更新表列