※ ChatGPTを利用し、要約された質問です(原文:VB6と2008、SQL使用方法の違いについて)
VB6と2008、SQL使用方法の違いについて
このQ&Aのポイント
VB6とVB2008でのデータベースの使用方法には違いがあります。VB6ではVB6のSQLを使用していたが、VB2008ではSQLステートメントを直接使用します。
VB6では複数のフィールドを持つレコードの保存処理をプロシージャで行っていましたが、VB2008ではSQLのINSERT文を使用します。
VB2008での保存処理はコマンドテキストに長文のステートメントを記述することになります。VB6のように別のプロシージャで保存処理を行う方法はありません。.NETではコーディングが必要です。
最近VB2008を始めた初心者です。データベースはアクセスです。
これまでは、VB6.0にてデータベースへの書き込みを行う際は、VB6のSQLを使用していました。1つのレコードに複数のフィールドがある場合も、以下のようなプロシージャを作成し処理の共有を行っておりました。
UserMaster!Name=Textbox1.Text
UserMaster!ID=Textbox2.Text
UserMaster!Collection1=Textbox3.Text
UserMaster!Collection2=Textbox4.Text
UserMaster!Collection3=Textbox5.Text ・・・
そして、VB2008に移行後はSQLステートメントを以下のようにそのまま使用しております。
cmnd.CommandText = "INSERT INTO Work (Id,Collection1,Collection2・・・) " & _
" VALUES ('" & Textbox1.Text & "','" & Textbox2.Text & "'," & Textbox3.Text & ・・・)"
cmnd.ExecuteNonQuery()
しかし、このようにコマンドテキストにて保存を行う場合、同一レコードに多数のフィールドがある場合、ステートメントが長文になってしまいます。
VB6のように保存処理を別にプロシージャにて実行させる方法は何かないでしょうか?
.NETでは根気よくコーディングしていくしかないのでしょうか?
アドバイス願います。m(_ _ )m
お礼
パラメータ化についてのご説明とても参考になりました。 丁寧に書いて頂きありがとうございます。