2016-03-20 70 views
0

在我的WPF應用程序中,使用Oracle數據庫和C#,我有這個代碼來填充數據網格,但它會拋出'System.IndexOutOfRangeException','表0無法找到'。列AS別名拋出'System.IndexOutOfRangeException'

如果我從SQL刪除AS Date,不會拋出異常,但在數據網格的應用

 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]); 
+0

嘗試附上「日期」,「截止日期」在雙引號 –

+0

@VasylMoskalov,仍然拋出同樣的異常,只有在單引號,因爲它已經在字符串 – North

+0

RetrieveRecords的實現是什麼? –

回答

1

您需要更正您的查詢顯示的列名作爲to_char(date_, 'dd/mm/yyyy')。 date是oracle中的數據類型,所以這就是爲什麼別名不起作用。

可以用雙引號括起來,也可以自己改變列名。

嘗試在SQL此查詢plus..it應該工作

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"); 
1

可能是因爲DateOracle一個key word。試着改變你的查詢關鍵詞,比如低於逃逸關鍵字

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