2010-07-25 39 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

相关问题