我尽力了一切-我是编程的初学者。我想使用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
块确保此即使存在一个错误。您可以将连接字符串设置为表单级别变量,以便可以在任何地方使用它,但这是唯一需要的表单级别变量。
您可以将连接字符串直接传递给连接的构造函数。
您可以将sql命令文本和连接直接传递给命令的构造函数。
请始终使用参数。它不仅可以避免您将引号放错位置,而且还有助于确保将正确的数据类型发送到数据库。最重要的是,它有助于保护数据库免受sql注入的侵害,而sql注入会破坏数据库。我不得不猜测您数据库中的数据类型。检查数据库并相应地调整代码。
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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句