C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 54 を表示中)
■29818 / )  SqlCommandBuilderによるデータ更新について
□投稿者/ KEI (1回)-(2008/12/15(Mon) 16:11:13)

分類:[.NET 全般] 

開発環境:XPPro
使用言語:VS.NET 2003

お世話になります。

SQLServer2000のデータベースに、[顧客]というテーブルがあります。
あるフォームにある[更新]ボタン(btnKosin)をクリックすると、
そのテーブルにおいて、[性別](nvarchar型)が「男」であるレコードの[F](tinyint型)というフィールドの値を、「1」に更新したいと考えています。
このテーブルへの接続文字列を変数pbstrSetuzokuに格納しています。

以下のコードを実行するのですが、For〜Nextのループが2回目のループでエラーになり、更新ができません。どなたかお分かりになる方がいらっしゃいましたら、ご教示お願いします。
(コード開始)***************************************************************
Private Sub btnKosin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnKosin.Click
Dim i As Integer
Dim strSQL As String
Dim cn As SqlClient.SqlConnection
    Dim da As SqlClient.SqlDataAdapter
Dim dt As DataTable
Dim ds As New DataSet
Dim dr As DataRow()
Dim scb As SqlClient.SqlCommandBuilder

i = 0

Try
  strSQL = "SELECT [性別],[F] FROM [顧客]"
cn = New SqlClient.SqlConnection(pbstrSetuzoku)
      da = New SqlClient.SqlDataAdapter(strSQL, cn)
da.Fill(ds, "顧客")
dt = ds.Tables("顧客")
dr = dt.Select("[性別]='男'")

If dr.Length > 0 Then
For i = 0 To dr.Length - 1
dr(i).BeginEdit()
dr(i)("F") = 1
scb = New SqlClient.SqlCommandBuilder(da)
da.Update(ds, "顧客")
Next
MsgBox("更新しました。")
Else
Exit Sub
End If
Catch ex As Exception
      (例外処理の記述)
End Try
End Sub
(コードの終了)***************************************************************

以上、よろしくお願いいたします。

返信 編集キー/


管理者用

- Child Tree -