繁体   English   中英

VB.NET中的WHERE语句

[英]WHERE Statement in VB.NET

对于学校作业,我需要根据其MAC地址为计算机命名。 我有一个包含两列Mac-Adress和Computername的mySQL表。 我想通过以下代码使用计算机的mac地址,它可以正常工作。

全球宣言

Public connStr As String =“数据库= Mac;” &_“ Data Source = localhost;” &_“ User Id = root; Password =” Public mac_adress As String

获取Mac地址

Public Sub MacAdres()Dim nic as NetworkInterface =否

  For Each nic In NetworkInterface.GetAllNetworkInterfaces mac_adress = nic.GetPhysicalAddress.ToString Next End Sub 

但是,当我要创建WHERE语句时,出现错误。 我在WHERE语句中使用以下代码。

 Public Sub retriveData() Try Dim query As String = "SELECT * FROM 'mactable' WHERE 'Mac-adres' = '" & mac_adress & "'" Dim connection As New MySqlConnection(connStr) Dim cmd As New MySqlCommand(query, connection) connection.Open() Dim reader As MySqlDataReader reader = cmd.ExecuteReader() While reader.Read() MessageBox.Show(reader.GetString(1)) End While reader.Close() connection.Close() Catch ex As Exception Console.WriteLine(ex.Message) End Try End Sub 

我究竟做错了什么?

> MySql.Data.dll发生类型为'MySql.Data.MySqlClient.MySqlException'的第一次机会异常

我认为您不需要表名或字段名上的引号,并且可以删除连字符。

Dim query As String = "SELECT * FROM mactable WHERE MacAdres = '" & mac_adress & "'"

通过使用以下命令解决了此问题:“`”而不是这些'。 那是相当奇怪的,但是它解决了。

暂无
暂无

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

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