こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

VB.NETでDB書き込みエラー

VB.NETで開発を行っています。データベースを使用するのですが、
フィールド数が150近いものになっており、クエリの自動生成ができなくて、
その部分は手動で作成しました。
で、DBへ書き込みを行う際に、INSERT文を作成していますが、そこで使用して
いる@付の変数が宣言されていない、という実行エラーが発生してます。この
@付の変数はどこで宣言を行えばよろしいのでしょうか?
よろしくお願いいたします。

投稿日時 - 2002-07-30 16:43:46

QNo.325634

困ってます

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

使用するSqlInsertCommandが生成された後に、
SqlInsertCommandのParameters.Addメソッドでパラメータを追加する時に宣言出来ます。
宣言というか、insertCommandにその@付のパラメータを教えてあげるという感じです。

具体的には
Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@categoryno", System.Data.SqlDbType.Int, 4, "categoryno"))
とかいう感じです

上記はVB.NET環境でsqlDataAdapterをデザイン画面にドラッグした時に起動されるウィザードによって自動生成された構文の一部です。
そのまま、独自の文脈に乗せるとうまく行かないかもしれません。

DB更新関連の構文は結構面倒なので、
もっと小さなDBで小さなクエリを自動生成して、
自動生成された構文を真似て行けば、
(不明に思ってもとにかく真似る)
エラーがなくなっていくと思います。

投稿日時 - 2002-07-31 12:43:23

お礼

回答ありがとうございます。
100フィールドをこえるテーブルでは何かと面倒なので、
小さいテーブルに分割して処理を行ったところ、無事にDB
へ書き込みを行うことができました。
自動生成のクエリを参考に真似をしてみようとも思いましたが、
やっぱり難しかったです。
ありがとうございました。

投稿日時 - 2002-07-31 14:10:02

ANo.1

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問