まだVB.NETをはじめて2ヶ月の初心者ですが、どうしてもわからない事ができたのでよろしければ教えてください。
まず入力フォームで、複数行のテキストボックスにデータを入力し、確定ボタンを
押すとDBに反映するようにしたいのですが、方法がわかりません。
(画面例)項目名 A B C とあり
TEXTBOX1 TEXTBOX2 TEXTBOX3
TEXTBOX4 TEXTBOX5 TEXTBOX6 のようにテキストボックスが
並んでいます
各テキストボックスにデータを入力し最後に確定ボタンを
押すとデータがDBに反映するようにしたいのですが。
普通はこのような時どのようにされているのかも併せて教えていただければ助かります よろしくお願いします。
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メソッドで行う方法もあります。
ご返答ありがとうございます
接続方法は、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に入力された内容
を反映させたいのですが
どうすればよいでしょうか?
最初の説明がうまくなくて申し訳ありません。
よろしくお願いします。