2013-05-28 39 views
0

我想獲得一個查詢,以在Visual Studio 2010中一旦我達到的ExecuteReader聲明按鈕點擊執行,它說SQL異常未處理的,無效的對象名稱

「無效的對象名稱‘任務’ 「。

表名稱是任務,字段名稱也是任務。 SQL連接運行良好。可能是什麼問題呢 ?

 string MyConString = "Data Source=.\\SQLExpress;Initial Catalog=filter;Integrated Security=SSPI;"; 
     SqlConnection connection = new SqlConnection(MyConString); 

     string mycmd; 
     connection.Open(); 
     SqlCommand cmd; 
     //mycmd = "select task from task where task='" + textBox3.Text + "'"; 
     mycmd = "SELECT task.id FROM task WHERE task.task='plan1'"; 
     cmd = new SqlCommand(mycmd, connection); 
     SqlDataReader sdr; 
     string val = ""; 
     //try 
     //{ 
     //cmd.ExecuteNonQuery(); 
     sdr = cmd.ExecuteReader(); 
+1

你在使用模式嗎?如果是這樣,你可能需要在模式前加上:'[schema]。[table]。[field]' –

+0

注意:表中的字段與表中的名稱相同是不好的做法,並且很醜陋。 –

+0

我正在使用visual studio 2010提供的內置數據庫。 –

回答

0

的第一個建議是從任務到別的東西改變列名或表名,以便保持兩個不同的名字,但解決的辦法:

mycmd = "SELECT t.id FROM task t WHERE t.[task]='plan1'"; 

你可以用表的別名做

+0

連接字符串出現問題。非常感謝:/幫助調試。 –

相關問題