我尝试了我能做的一切——我是编程的初学者。我想使用 VB 或 Visual Studio 在 xampp 中更新我的数据库,但似乎做不到。
这是我的表单代码:
Imports MySql.Data.MySqlClient
Public Class Form4
Public MysqlConn As MySqlConnection
Public cmd As New MySqlCommand
Public da As New MySqlDataAdapter
Public Sub MysqlConnection()
MysqlConn = New MySqlConnection()
'Connection String
MysqlConn.ConnectionString = "server=localhost;" _
& "user id=root;" _
& "password=;" _
& "database=bank"
'OPENING THE MysqlConnNECTION
MysqlConn.Open()
End Sub
Public Sub add()
Dim sql As String
Dim TempTable As New DataTable
sql = "update cbank set Balance = Balance + " & TextBox2.Text & "where AccountID = " & TextBox1.Text & "and PIN = " & TextBox3.Text & ";"
'bind the connection and query
With cmd
.Connection = MysqlConn
.CommandText = sql
End With
da.SelectCommand = cmd
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
MysqlConnection()
add()
End Sub
End Class
没有错误只是也没有输出
最佳答案
将您的数据对象保存在本地,这样您就可以确保它们已被关闭和处置。即使出现错误,Using...End Using
block 也能确保这一点。您可以将连接字符串设为表单级变量,这样您就可以在任何地方使用它,但这是您唯一需要的表单级变量。
您可以将连接字符串直接传递给连接的构造函数。
您可以将 sql 命令文本和连接直接传递给命令的构造函数。
请始终使用参数。它不仅可以避免将引号放错地方,还有助于确保将正确的数据类型发送到数据库。最重要的是它有助于保护您的数据库免受可能破坏您的数据库的 sql 注入(inject)。我不得不猜测您数据库中的数据类型。检查数据库并相应地调整代码。
Private ConnString As String = "server=localhost;user id=root;password=;database=bank"
Private Sub add()
Using cn As New MySqlConnection(ConnString)
Using cmd As New MySqlCommand("update cbank set Balance = Balance + @Balance where AccountID = @ID and PIN = @PIN;", cn)
cmd.Parameters.Add("@Balance", MySqlDbType.Decimal).Value = CDec(TextBox2.Text)
cmd.Parameters.Add("@ID", MySqlDbType.Int32).Value = CInt(TextBox1.Text)
cmd.Parameters.Add("@PIN", MySqlDbType.Int32).Value = CInt(TextBox3.Text)
cn.Open()
cmd.ExecuteNonQuery()
End Using
End Using
End Sub
关于mysql - 使用 Visual Studio 或 Visual Basic 在 xampp 中更新 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56197875/