mysql - 使用 Visual Studio 或 Visual Basic 在 xampp 中更新 MySQL 数据库

标签 mysql vb.net xampp

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

相关文章:

svg - 资源被解释为图像但在 xampp 中使用 MIME 类型 text/xml 传输?

php - 如何从 mySQL 中的索引字段输出其他表的值?

mysql - Django MySQLdb 版本与 _mysql 版本 Ubuntu 不匹配

c# - 如何动态地将标签和按钮添加到组框?

vb.net 数据集返回空值

sql-server - SSIS 包未从服务器运行

vb.net - Where().Count() 与 Count()

windows - 在 Windows 中的 XAMPP 上安装 Zend Framework 2

python - 更改行数据以防它与不同的行不匹配

Xampp 中的 mysql 不起作用