- PR -

データベースの更新について

1
投稿者投稿内容
未記入
会議室デビュー日: 2004/08/25
投稿数: 6
投稿日時: 2004-08-25 18:02
お世話になります。

現状として、SQLサーバーのデータベースから、データセットを作成して、
VB.NETのWindowsApplicationのFormにはテキストボックスをいくつか作成し
ました。そしてFormを実行したときに、テキストボックスにデータセット
からデータを持ってくるようにしました。

次の作業として、Formを実行時にテキストボックス上でデータを上書きして、
更新、削除ボタンを押すとデータセットとデータベースのデータが更新、削除
されるようにしようとしました。

以前データグリッドを使用したときは、プロパティビルダから、更新、削除
する項目がありました。そしてソースの中でEditCommandやUpdateCommandなど
を使って、データグリッドに入力したデータをデータベースに更新、削除でき
ました。

しかしテキストボックスに入力したデータを、どうすればデータベースの更新
ができるかわかりません。

ご存知でしたらご教授お願いします。
長くなっていしまいましたが、よろしくお願いします。
Hodgkin
常連さん
会議室デビュー日: 2003/07/18
投稿数: 34
投稿日時: 2004-08-25 18:15
普通にSQL Serverに対してSQL文を発行してあげるだけで良いんじゃないでしょうか?

ただ、SQLレスでDB更新を行いたいというと話は違いますが・・・
データグリッドでは、コンポーネント内部でO/RマッピングしSQLの発行を
コンポーネントの内部で吸収しているだけだと思います。

普通(昔からのプログラムでは)なら、DBにSQLを発行してデータを更新します。
ただ、O/Rマッピングした方が今っぽくてかっこいいですけどね^_^;

話がわき道にそれましたが、
「ADO.NET UPDATE」等でググればヒントらしいページにたどり着けると思います。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2004-08-26 10:07
さかもと と申します。
Hodgkin様がおっしゃるようにSQL文発行で良いかと思います。
もしデータアダプターのUPDATEメソッドを使う(うまく表現できずにすいません)
のであれば・・・。
==============================================================
'/現在指定しているレコードを選択(下をご覧下さい)
Dim drv As DataRowView = getCurrentDataRowView()

drv.BeginEdit()

drv("A") = a.Text
drv("B") = b.Text



drv.EndEdit()
SqlDataAdapter1.Update(DataSet1)

'/今現在のレコードを判断します
Private Function getCurrentDataRowView() As DataRowView
Dim bm As BindingManagerBase = Me.BindingContext(DataSet1, "mst_A")
Return CType(bm.Current, DataRowView)
End Function
================================================================

というやりかたもあるようです(書籍によると)
ご参考までに。
1

スキルアップ/キャリアアップ(JOB@IT)