2016-04-24 147 views
0

すべての行に対して同じsql SELECTを作成しようとしています。クエリでSELECT構文エラーが発生しました。不完全なクエリ句

しかし、私は 'showReader = sqlShowSol.ExecuteReader();'に問題があります。

- "構文エラーinクエリ。不完全なクエリ句。"

なぜですか?

-- connection was established before. -- 

     System.Data.OleDb.OleDbCommand sqlShowSol = new System.Data.OleDb.OleDbCommand(); 
     sqlShowSol.Connection = connection; 

     System.Data.OleDb.OleDbDataReader showReader; 

     int row = 1; 

     while (true) 
     { 

      sqlShowSol.CommandText = "SELECT Q_A,Content FROM @userName WHERE id = @id;"; 
      sqlShowSol.Parameters.AddWithValue("@userName", userName); 
      sqlShowSol.Parameters.AddWithValue("@id", row); 
      showReader = sqlShowSol.ExecuteReader(); 

|-----------------------------------------------------------------------------------------| 

There is more code afterwords... 
But I get the problem in the last line I typed here. 

TNX 4ヘルプ、

Etay

+2

(1)テーブル名をパラメータ化することはできません。 (2) "UserName"がテーブルの名前であれば何か間違っているようです。 –

+0

(3)OLE DBは、パラメータ名の代わりにクエリテキストに '?'パラメータマーカーを必要とします。値は序数で渡されます。 –

答えて

0

あなたはこの書くとき:

"SELECT Q_A,Content FROM @userName WHERE id = @id;"; 

をあなたは間違ってのparamaterを使用しています。テーブル名としてパラメータを使用することはできません。データベースエンジンは@userName参照を解釈できません。

関連する問題