簡體   English   中英

MYSQL中的“SELECT”語法與.NET中的“dtTable.Select”不同

[英]Different “SELECT” syntax in MYSQL with “dtTable.Select” in .NET

我在下面使用MySQL Query Browser嘗試了“SELECT”MYSQL語法,正常工作。 當我將此語法用於dtTable.Select()時,錯誤是“表達式上的語法錯誤”。 請幫幫我,謝謝。

Dim dtTable As DataTable = MyDataset.Tables("machine")
Dim sql As String = String.Format("SELECT product_name, operator_name, totalizer_name 
                                   FROM product, operator, totalizer_type, machine 
                                   WHERE product.product_id = machine.product_id AND 
                                         operator.operator_id = machine.operator_id AND 
                                         totalizer_type.totalizer_id = machine.totalizer_id 
                                   ORDER BY machine.machine_id ASC;")
Dim rowSearching() As DataRow
rowSearching = dtTable.Select(sql)  ' <--- (error in here - "Syntax error on expression")

If rowSearching.Length > 0 Then
   For Each dr As DataRow In rowSearching
      MessageBox.Show(CStr(dr.Item(0)) & " " & CStr(dr.Item(1)) & " " & CStr(dr.Item(2)))
   Next
End If

DataTable.Select不能那樣工作。 它只是在它的列上接受一個過濾器,其語法類似於sql中的where子句語法。

例:

dtTable.Select('operator_id = 1')

將返回具有operator_id = 1 dtTable中的所有行

有關更多信息:

過濾語法

DataTable.Select方法

你錯誤的選擇如何在Datatable對象上工作, http://msdn.microsoft.com/en-us/library/det4aw50.aspx

你需要沿着這些方向使用某些東西

Dim conn As New MySqlConnection
Dim myCommand As New MySqlCommand
Dim myAdapter As New MySqlDataAdapter
Dim myData As New DataTable
Dim SQL As String

conn.ConnectionString = myConnString
conn.Open()

myCommand.Connection = conn
myCommand.CommandText = SQL

myAdapter.SelectCommand = myCommand
myAdapter.Fill(myData)

請參閱http://www.vbmysql.com/articles/vbnet-mysql-tutorials/the-vbnet-mysql-tutorial-part-4獲取體面的教程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM