• ベストアンサー

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()

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

解決済みかもしれませんが。 select [No] from 物件 みたいに []とかで囲むと予約語でも使えるはずです。

intexjp
質問者

お礼

有難うございました。 []で囲んで実行できました。 助かりました!!

その他の回答 (1)

回答No.1

項目名(No) が予約語に引っかかっているのではないですか? それと、CREATE文の終わりの(")がありませんが、 <正常>もエラーしませんでした?

intexjp
質問者

お礼

ご回答ありがとうございました。 質問に記しました文には書き写し間違いで(")が抜けていました。 実際には(")を入れております。 ご指摘の様に予約語でエラーになっているようです。 実は既に"No"のフィールドがあるデータベースを使用しなくては なりません。テーブルの削除、作成というプログラムを作っていますが 他の方法で対処を考えています。 ご教授有難うございました。

関連するQ&A