vb.net - OleDbException:ORDER BY 子句中的语法错误

标签 vb.net ms-access select oledb oledbexception

我在测试如何通过选择所需列然后指定唯一 ID(即按主 ID ID 排序的房间号)来获取最新数据库条目时遇到此错误。

这是我的代码:

  Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\patientinfo.accdb"
    Conn.Open()

  Dim statement As String = " SELECT room_number, patient_name,patient_age,date_confinement,type_sickness, type_fluid, bottle_used, drop_rate FROM tblPatientInfo WHERE room_number=1 ORDER BY ID DESC LIMIT 1"
  RetrieveInfos(statement)

  End Sub

  Public Sub RetrieveInfos(ByRef statement As String)
    Dim cmd As OleDbCommand = New OleDbCommand
    With cmd
        .CommandText = statement
        .CommandType = CommandType.Text
        .Connection = Conn
        .ExecuteNonQuery()


        '--read records in access database----------------
        Dim reader As OleDbDataReader = cmd.ExecuteReader
        While reader.Read
            lblName.Text = (reader.GetString(0))
            lblAge.Text = (reader.GetInt32(1).ToString)
            lblDate.Text = (reader.GetDateTime(2).ToString)
            lblSickness.Text = (reader.GetString(3))
            lblFluid.Text = (reader.GetString(4))
            lblBottle.Text = (reader.GetInt32(5).ToString)
            lbldrops.Text = (reader.GetInt32(6).ToString)

        End While
      reader.Close()

    End With
End Sub

如有任何帮助,我们将不胜感激。谢谢!

最佳答案

“LIMIT 1”条款是可疑的。建议修改查询以使用“SELECT TOP 1 .....”

Dim statement As String = " SELECT TOP 1 room_number, patient_name,patient_age,
                            date_confinement,type_sickness, type_fluid, bottle_used, drop_rate FROM 
                            tblPatientInfo WHERE room_number=1 ORDER BY ID DESC"

(为清楚起见,此处用硬返回包裹查询)。

关于vb.net - OleDbException:ORDER BY 子句中的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12393352/

相关文章:

PHP 从 MySQL 表中选择最大的 `id` 值

jquery - RoR : form. select + onchange 未将参数中的正确值传递给 Controller

vb.net - VB.net-同时音频

ms-access - 引用子表单中的控件

mysql - 如何将mysql数据库中的空列导入到vb.net中的文本框

ms-access - MS Access - 如何通过修改表来更改链接表路径

ms-access - 从外部应用程序创建 Lotus Notes 文档

sql - Postgresql SELECT 表中的数据条目存在 ID

vb.net - vb.net中的表单的自定义构造函数: Best practices

mysql - 单击不相关按钮时触发 SQL 错误