我试图从具有ENTITYID列等于DataclassId列这里的DB打印出表的代码是无效的列名尽管它在那里!
public void getRootTables_checkSP()
{
string connect = "Data Source= EUADEVS06\\SS2008;Initial Catalog=TacOps_4_0_0_4_test;integrated security=SSPI; persist security info=False;Trusted_Connection=Yes";
SqlDataReader rootTables_List = null;
SqlConnection conn = new SqlConnection(connect);
conn.Open();
SqlCommand s_cmd = new SqlCommand("SELECT * FROM sys.Tables WHERE EntityId = DataclassId", conn);
rootTables_List = s_cmd.ExecuteReader();
while (rootTables_List.Read())
{
string test = rootTables_List[0].ToString();
Console.WriteLine("ROOT TABLES ARE {0}", test);
}
rootTables_List.Close();
conn.Close();
}
但它口口声声说这些列是无效的,虽然当我打印出来的所有列在数据库“syscolumns”他们在那里...
谁能告诉我为什么我得到这样的错误?
编辑
我真正想要的是查询数据库TacOps_4_0_0_4_test不系统。我刚刚意识到
EDIT 2
这里是我的数据库
Table_1
ID Sequence Type Heigh Weight EntityId DataclassId
0 1 s 1.4 2.5 42-2c-Qi 42-2c-Qi
1 2 s 2.4 2.5 zh-km-xd zh-km-xd
2 3 s 3.4 2.5 8n-tr-l7 8n-tr-l7
Table_2
ID Data Person EntityId DataclassId
0 1 Dave 58-zj-4o 41-2c-Q7
1 2 Sara 99-op-t6 oy-7j-mf
2 3 Silve 75-qy-47 2d-74-ds
Table_3
ID Name Genre EntityId DataclassId
0 LR Ac 78-jd-o9 78-jd-o9
1 OI Dr 4t-jb-qj 4t-jb-qj
2 DH Do 7j-3e-ol 7j-3e-ol
表格的一例的输出应该是
Table_1
Table_3
你是什么意思是“这些列”吗?什么*确切*是错误信息? – 2010-09-22 07:07:06
我试过这个查询>>> SELECT * FROM sys.Tables WHERE EntityId = SQL SERVER 2008中的DataclassId它表示无效的列名称。可能在查询中出错。我从来不知道名为“EntityId”的sys.table中的任何列 - dataclassid – Jsinh 2010-09-22 07:13:30