- ベストアンサー
VB2008プログラミング(データベース)
VB2008でプログラムをしています。 データベースのSQL文でエラーが解決できません。 どなたか教えてください。 -内容ー データベースにテーブルを追加したいのですが、フィールド名に半角(No)を使うとエラーになります。 全角(No)に変えるだけでエラーはなくなりますがその理由がわかりません。 <エラー> Com = New OleDb.OleDbCommand("CREATE TABLE 物件(No INTEGER), cn) Com.ExcuteNonQuery() <正常> Com = New OleDb.OleDbCommand("CREATE TABLE 物件(No INTEGER), cn) Com.ExcuteNonQuery()
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
解決済みかもしれませんが。 select [No] from 物件 みたいに []とかで囲むと予約語でも使えるはずです。
その他の回答 (1)
- toshih2000
- ベストアンサー率22% (120/541)
回答No.1
項目名(No) が予約語に引っかかっているのではないですか? それと、CREATE文の終わりの(")がありませんが、 <正常>もエラーしませんでした?
質問者
お礼
ご回答ありがとうございました。 質問に記しました文には書き写し間違いで(")が抜けていました。 実際には(")を入れております。 ご指摘の様に予約語でエラーになっているようです。 実は既に"No"のフィールドがあるデータベースを使用しなくては なりません。テーブルの削除、作成というプログラムを作っていますが 他の方法で対処を考えています。 ご教授有難うございました。
お礼
有難うございました。 []で囲んで実行できました。 助かりました!!