使用 Visual Studio 或 Visual Basic 更新 xampp 中的 MySQL 数据库

Updating MySQL database in xampp using Visual Studio or Visual Basic

我尝试了我能做的一切 - 我是编程的初学者。我想使用 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

没有错误只是没有输出也

引号问题。

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 Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Me.Hide()
        Form2.Show()
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        MysqlConnection()
        add()

    End Sub

    Private Sub Form4_Load(sender As Object, e As EventArgs) Handles MyBase.Load

    End Sub
End Class

将您的数据对象保存在本地,这样您就可以确保它们已被关闭和处置。即使出现错误,Using...End Using 块也能确保这一点。您可以将连接字符串设为表单级变量,这样您就可以在任何地方使用它,但这是您唯一需要的表单级变量。

您可以将连接字符串直接传递给连接的构造函数。

您可以将 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