mysql - VB.Net 与 mySql 问题?

标签 mysql vb.net-2010

我正在使用 VB.Net 2010 从 mysql 数据库搜索并阻止注册重复 ID。 我得到:你的 sql 语法有错误......

请你帮我解决这个问题吗? 我会犯什么错误? 正确的方法是什么?

Imports System.IO
Imports MySql.Data.MySqlClient
Imports System.Data.SqlClient

    Public Class Add_Clients
        Private Sub CheckClient()
            Dim myquery As String = ""
            Dim mycmd As MySqlCommand

            myquery = "select * from clients where client_id=" & clid.Text
            mycmd = New MySqlCommand(myquery, con)
            Dim idno As Integer = mycmd.ExecuteNonQuery()

            If idno < 0 Then
      MsgBox("The Client is already Exist!", MsgBoxStyle.Exclamation, "Car Rental System")
                Return
            End If

        End Sub

最佳答案

您的查询应该是这样的...

 myquery = "SELECT * FROM clients WHERE client_id='" & clid.Text.Replace("'","''").Trim() & "'"

额外的 .Replace("'","''").Trim() 应该可以保护您免受 SQL 注入(inject)。现在应该可以使用...但是稍后您将使用参数化查询来避免 SQL hack :) 所以现在,首先练习 SQL 语句。

关于mysql - VB.Net 与 mySql 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21909864/

相关文章:

mysql - 连接表时如何使用案例条件

mysql - 使用 mysql 的 in 子句过程中出现错误

mysql - 使用两个 Datagridview 但仅显示一个时出现问题

mysql - 插入后mysql中的重复记录

php - Laravel 引用外键数据

mysql - 如何从数据库记录中删除 ¶ (pilcrow) 符号

php - 如何使用准备好的语句删除列?

在数学语句中保留 << 和 >> 的 C++ 到 VB.NET 的转换

javascript - 在javascript函数中获取代码隐藏值

php - 使用 PHP 从 MYSQL 填充的动态 html/javascript 下拉列表