繁体   English   中英

VB.Net在MySQL中删除和更新数据的代码是什么? (使用参数化查询)

[英]What is the code for VB.Net to delete and update data in MySQL ? (Use parameterized Query)

VB.Net在MySQL中删除和更新数据的代码是什么? (使用参数化查询)

这是我的Update代码:

Dim Query As String

    Dim con As MySqlConnection = New MySqlConnection("Data Source=localhost;Database=test;User ID=root;Password=;")
    con.Open()

    Query = "UPDATE userreg SET UserName ='" + txtUserName.Text + "',"
    Query = Query + "Age = " + txtAge.Text
    Query = Query + " WHERE idUserReg = " + txtUserRegId.Text

    Dim cmd As MySqlCommand = New MySqlCommand(Query, con)
    MsgBox(Query)
    Dim i As Integer = cmd.ExecuteNonQuery()
    If (i > 0) Then
        lblMsg.Text = "Record is Successfully Updated"
    Else
        lblMsg.Text = "Record is not Updated"
    End If
    con.Close()

这是用于删除代码:

 Dim Query As String

    Dim con As MySqlConnection = New MySqlConnection("Data Source=localhost;Database=test;User ID=root;Password=;")
    con.Open()
    Query = "Delete FROM userreg WHERE idUserReg  =" + txtUserRegId.Text

    Dim cmd As MySqlCommand = New MySqlCommand(Query, con)
    MsgBox(Query)
    Dim i As Integer = cmd.ExecuteNonQuery()
    If (i > 0) Then
        lblMsg.Text = "Record is Successfully Deleted"
    Else
        lblMsg.Text = "Record is not Deleted"
    End If
    con.Close()

但是当我想要更新和删除数据时,没有任何变化。

我会帮助您,因为我从您的其他话题中看到您正在挣扎。

此函数将使用参数化查询从数据库中更新/删除:

Public Function ParameterizedNonQueryCommand(ByRef NonQuery As String, ByVal Parameters As List(Of MySqlParameter), _
        Optional ByVal Connection As MySql.Data.MySqlClient.MySqlConnection = Nothing) As Integer

        Dim comm As New MySql.Data.MySqlClient.MySqlCommand(NonQuery, Connection)
        Try
            For Each param As MySql.Data.MySqlClient.MySqlParameter In Parameters
                comm.Parameters.Add(param)
            Next
            If comm.Connection.State <> ConnectionState.Open Then comm.Connection.Open()
            comm.Prepare()
            Return comm.ExecuteNonQuery()
        Catch ex As Exception
            Return -1
        Finally
            comm.Connection.Close()
            comm.Dispose()
        End Try
    End Function

从表中删除用户ID为1的用户的示例用法:

Dim query as string = "DELETE FROM USERS WHERE USERID = ?UserID"
Dim Params As New List(Of MySqlParameter)
Params.Add(New MySqlParameter("UserID", 1))
Dim oConnection as MySqlConnection = New MySqlConnection("Data Source=localhost;Database=test;User ID=root;Password=;")
ParameterizedNonQueryCommand(query, Params, oConnection)

基本上,该函数接受查询作为字符串参数。 在需要添加值的查询字符串中,只需在参数占位符中使用'?',然后在MySqlParameter中指定要替换的值即可。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM