【问题标题】:OledbDataReader getOrdinal IssueOledbDataReader getOrdinal 问题
【发布时间】:2016-04-05 00:14:58
【问题描述】:

我对来自 OleDb.DataReader 的函数 GetOrdinal 有一些问题。在我的表中,我有一些以空格命名的列。 我试着用一些 [ ] 来称呼它:

Dim dr as System.Data.OleDb.OleDbDataReader dr.GetOrdinal("[Nom truc]")

但它告诉我:“IndexOutOfRangeException”

我无法更改字段的名称。我的基础类型是 accdb。在 Microsoft Access 中,我的查询正在运行。

对不起我的英语不好,我是法国女孩:)

提前谢谢你!

【问题讨论】:

    标签: vb.net oledbdatareader


    【解决方案1】:

    你应该去掉括号:

    'dr.GetOrdinal("[Nom truc]")
    dr.GetOrdinal("Nom truc")
    

    【讨论】:

    • 它不起作用,因为我正在使用请求来设置 OleDbCommand:
      Dim c as System.Data.OleDb.OleDbCommand("Select [nom truc] from machin") <br/> c.ExecuteReader()
      没有括号我有语法异常。所以我尝试将括号放在 c 中,然后从 dr.GetOrdinal 中删除,但它什么也没返回。
    • @MlleStrife 您在 sql 中保留括号,在 GetOrdinal 函数中丢失括号。如果它什么也不返回,那么你就没有数据。
    • 非常感谢,它正在工作! :) 当我尝试打印 GetOrdinal 的返回值时,我的字段名称出错了……我太笨拙了!再次感谢您的快速回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多