2017-11-23 7 views
1

私はWPFアプリケーションでデータベースを扱っています。私のコマンドを実行しようとすると、SqlExceptionが返され続けます。それはある種のタイプミスであり、おそらく非常に愚かですが、私はしばらくこのことに固執しており、それを理解することはできません。名前が予約済みのSQLキーワードであるテーブルをエスケープするにはどうすればよいですか?

string selectStatement = "SELECT * FROM Order ORDER BY OrderDate DESC;"; 
     SqlCommand command = new SqlCommand(selectStatement, connection); 
     SqlDataReader reader = null; 

     try 
     { 
      connection.Open(); 
      reader = command.ExecuteReader(); 

これは、テーブルの絵です! (https://imgur.com/7oimusw

+1

例外の内容を教えてください。 – Chris

+0

'ORDER'はSQLキーワードであり、決してテーブル名またはテーブルエイリアスとして使用しないでください。 –

+0

それを '' Order "'と区切ります。 – jarlh

答えて

4
const string selectStatement = "SELECT * FROM [Order] ORDER BY OrderDate DESC;"; 

それを

+0

ありがとう!それが修正されました。 – Notorious

1

SQL Serverを修正する必要があります:[](SELECT * FROM [Order];

Oracleの間でそれを使用します: ""(SELECT * FROM "Order")<の間で使用してください - 大文字と小文字が区別されます。

関連する問題