2010-07-25 41 views
0

我有一個數據庫表的列在多個模式中。例如:DataReader,DataColumn - 這些可以讓我在Schema中顯示列,如SomeSchema.SomeColumn?

 
SomeTable 
SomeSchema.Column1 
SomeSchema.Column2 
AnotherSchema.ColumnA 
AnotherSchema.ColumnB

我有使用DataTable.Rows[r][c].ToString()代碼的語法,它看起來像返回只有Column1ColumnA部分。我需要獲取全名SomeSchema.Column1,因爲現在看起來代碼拋出一個Sql異常並且找不到Column1。我假設如果我可以參考它作爲SomeSchema.Column1,這將糾正例外。我可以使用DataTableDataColumn得到這個結果嗎?還是我需要採取另一種方法?有任何想法嗎?我已經搜索了Google和這個網站,用「C#datatable datacolumn schema table dbo」這樣的關鍵字,並沒有太多運氣。

+0

你有模式中的列?哪個DBMS? – 2010-07-25 17:08:45

+0

我很困惑。如果你得到一個SQL異常,這是你的查詢問題,而不是DataTable。此外,DataTables確實有元數據;您可以通過列名稱索引到DataRow中。如果列名不存在,那麼您的代碼與查詢返回的列名稱不匹配。沒有看到真實的代碼和完整的例外,很難說出發生了什麼事情。 – 2010-07-25 17:08:46

回答

0

LMAO,我一直在努力工作這麼久沒有休息我認爲......這不是列有架構,它是表,所以我想我可以調整我的查詢來獲取表名與我認爲將架構在我現有的代碼,所有將是好的...我會回來後,它完成並測試...嘆...

+0

是的,對不起...我改變了我的查詢,以從sys.tables中選擇名稱來獲取數據庫中的所有表以選擇schema_name(schema_id)+'。' + sys.tables中的名字,我現在得到了完整的表名,它應該避免這個異常。現在去睡覺...感謝和抱歉的混亂... 傑森 – Jason 2010-07-25 17:54:34

相關問題