[英]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對象上工作, 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.