複数テキストboxの内容をボタン1つでDBに追加するには?


VB.NET  2003-05-19 03:04:59  No: 107162

まだVB.NETをはじめて2ヶ月の初心者ですが、どうしてもわからない事ができたのでよろしければ教えてください。

まず入力フォームで、複数行のテキストボックスにデータを入力し、確定ボタンを
押すとDBに反映するようにしたいのですが、方法がわかりません。

(画面例)項目名    A        B        C  とあり

                TEXTBOX1  TEXTBOX2 TEXTBOX3
               TEXTBOX4  TEXTBOX5 TEXTBOX6  のようにテキストボックスが
                                              並んでいます

      各テキストボックスにデータを入力し最後に確定ボタンを
      押すとデータがDBに反映するようにしたいのですが。

普通はこのような時どのようにされているのかも併せて教えていただければ助かります  よろしくお願いします。


Say  2003-05-19 17:59:48  No: 107163

DBや接続方法やテーブル構造が不明確ですから
的確な回答ができかねるのですが、
既にADO.Connectionで接続が確立し、
オブジェクト変数adoCnnを用いて
インスタンスが生成できているものとすると、一般に
新規追加ならば文字列変数strSQLを用いて、
strSQL = "Insert Into テーブル名 "
strSQL = strSQL & " ( 項目名1 , 項目名2 , 項目名3 ) Values "
strSQL = strSQL & " ( 項目1   , 項目2   , 項目3 ) "
adoCnn.Execute strSQL

既存レコードの更新ならば
strSQL = "Update テーブル名 Set "
strSQL = strSQL & " 項目名1 = 項目1 , "
strSQL = strSQL & " 項目名2 = 項目2 , "
strSQL = strSQL & " 項目名3 = 項目3  "
strSQL = strSQL & " Where キー項目名 = 条件値 "
adoCnn.Execute strSQL

といったコードでSQL文を発行すればテーブルのデータが変更されます。

通常は項目1などが可変ですから、この部分を文字列変数や、
Text1.Textなどに置き換えて文字列連結します。

strSQL = strSQL & " 項目名1 = " & Text1.Text & " , "

なお、フィールドの型が文字型(String,Text,Char,Varchar2など)
の場合、項目値をシングルクォートではさむ必要があります。

strSQL = strSQL & " 項目名2 = '" & Text2.Text & "' , "

上記の例では更新クエリを発行しましたが、
RecordSetオブジェクトのUpdateメソッドで行う方法もあります。


VB.NET  2003-05-20 03:01:50  No: 107164

ご返答ありがとうございます

接続方法は、ADO.NETでデータベースはSQLサーバーです。

入力フォームの項目名は、  品名    売価    原価    とありその下に
入力ボックス(TEXTBOX)以下BOXとする)があります

入力フォーム例
          品名    売価    原価
          BOX1    BOX2    BOX3
          BOX4    BOX5    BOX6
          BOX7    BOX8    BOX9  と各BOXに任意のデータを入力します

          最後に確定ボタンを押すと
          データベースに以下のように反映させたいのですが

テーブル例
            行番    品名    売価    原価  ←  DB項目名

              1     BOX1    BOX2    BOX3
              2     BOX4    BOX5    BOX6
              3     BOX7    BOX8    BOX9  ←各BOXに入力された内容
                                             を反映させたいのですが
                                             どうすればよいでしょうか?

                                最初の説明がうまくなくて申し訳ありません。
                                よろしくお願いします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加