簡體   English   中英

列AS別名拋出'System.IndexOutOfRangeException'

[英]column AS alias throws 'System.IndexOutOfRangeException'

在我的WPF應用程序中,使用Oracle數據庫和C#,我具有這段代碼來填充數據網格,但是它將引發“ System.IndexOutOfRangeException”和“找不到表0”。

如果我從SQL中刪除AS Date ,則不會引發任何異常,但是datagrid在應用程序中將列名稱顯示為to_char(date_, 'dd/mm/yyyy')

        db.SetSql("select sn, activity, attendees, to_char(date_, 'dd/mm/yyyy') AS Date from cpr");

        DataSet result = db.RetrieveRecords();

        datagrid1.ItemsSource = new DataView(result.Tables[0]);

您需要更正您的查詢。 date是oracle中的數據類型,因此這就是別名不起作用的原因。

要么將其用雙引號引起來,要么將其自身更改為列名。

在SQL plus中嘗試此查詢。

select sn, activity, attendees, to_char(date_, 'dd/mm/yyyy') AS "Date" from cpr

然后在C#中嘗試

db.SetSql("select sn, activity, attendees, to_char(date_, 'dd/mm/yyyy') AS \"Date\" from cpr");

可能是因為DateOracle關鍵字 嘗試通過轉義關鍵字來更改查詢,如下所示

    db.SetSql("select sn, activity, attendees, to_char(date_, 'dd/mm/yyyy') AS \"Date\" from cpr");

暫無
暫無

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

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