転職してVB.NETを勉強しはじめたばかりの者です。よろしくお願いします。環境はWindowsXP、VB.NET、MDBです。
さっそくお聞きしたいことがあるのですが、データ登録用のフォームで
mDataAdapter.Update(mDataSet, mTableName)
と記述されている部分で「INSERT INTO ステートメントの構文エラーです」
とゆうメッセージが表示されてしまうのですが、コードの記述上のエラー
なのかデータアダプタとかの問題なのかよく分からず困っています。
今は既存のフォームでVB.NETの基本操作や徐々にコーディングの勉強を
している状態で、もしデータアダプタの問題であればウィザードから
データアダプタの構成を見ても現状理解は困難な状況です。
うまく状況説明できてないかもしれませんが、よろしければ解決策を
教えて頂けないでしょうか?
とりあえずエラーメッセージが『構文が間違っている』
って言ってるからSQL文の構文エラーを確かめるべきかな?
INSERT INTO って事は挿入文を設定しました?
mDataAdapter.InsertCommand
ですか?
そのSQL文を直接MDBファイルのほうを開いて
Access で実行してみてエラーにならないか確かめて下さい。
あと、過去ログ検索『データアダプタ』で引っ掛かるけど、
データアダプタは INSERT 文を実行するには InsertCommand
UPDATE 文を実行するには UpdateCommand が設定されてないと
実行されませんが…まぁ、この辺はウィザードを使ってるなら
その時の設定が悪い…となりますか。
[参考(?)リンク]↓現段階で直接的な関係は無いんですが…。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200503/05030080.txt
過去ログ検索して引っ掛かった項目には一通り目を通して置いて下さい。
特攻隊長まるるうさん回答有難うございます。
結論から言いますと問題は解決しました。ですが、とりあえず私の対処法が
正しいのかを確かめたいので、解決のチェックはまだせずにもう一つ質問を
させて下さい。
<対処法>
とりあえず分からないなりにウィザード上でデータアダプタの構成を確認
していたところ、クエリビルダの画面のSQL文!?の中のSELECTのところ
に一つだけ[Memo]と[]付きの項目名があったので、もしかしたらこれだけ
名前がよくないのでは?と思って、MDBファイル上で項目名を変更して
(ちなみにBikouとしておきました)再度、データアダプタを設定すると[]
が外れました。それからテストをした結果、無事データが登録できました。
以上なんですが、対処法として正しいのでしょうか?
また、欲張って申し訳ありませんが、今後勉強をしていく上で
データアダプタの設定の際に他に注意すべき点など合わせてアドバイス
頂ければ幸いです。
んーと。
対処としては結果だけ見れば問題ない…かなぁ(汗)
でも原因は特定できてない。…だから同じ原因で
同じエラーを出す可能性は消えてない。…つまり
対処療法というか不十分な対応で終わってます。
SQL文で [ ] がどんな使われ方をしてるかは
調べたの?結論として[Memo]でも動作しなくちゃ
いけません。
[ ] を付けないと構文エラーになるようなフィールド
(列)名は付けない方がいいから、修正したのはいい事
だと思います。だけど [ ] が付いてるから文法が
間違っている訳ではないです。SQL文内で [ ] は
正しい意味を持ちます。
でもまぁ、データアダプタの設定で何らかの不具合が
あったのは確かみたい。…じゃあ、もう一回 Memo に
戻してみるとか…
>また、欲張って申し訳ありませんが、今後勉強をしていく上で
>データアダプタの設定の際に他に注意すべき点など合わせてアドバイス
>頂ければ幸いです。
データアダプタどうこうより…データベースとしてのMDBファイル
に問題があると思ってます。
過去ログ検索『アクセス』や
過去ログ検索『Access』でどうぞ。(この掲示板の過去ログ検索は
複数単語”未対応”で、大文字小文字を区別しますwご注意を…)
質問しなくても、こういった掲示板で過去ログ検索すれば、実際に
問題に直面した注意すべき点が山のように引っ掛かるとは…
……思わないんでしょうね…やっぱ。自称初心者だと(T△T)
初心者という言葉を使うと自分で無意識に暗示をかけてる気が
するなぁw…『自分には何もできない』っていう。文章読むと
それなりにマトモっぽい人がホントに何もできなくなってる
場面によく出会うんですが…。
ツイート | ![]() |