|
また、以下が書き込みイベントです。
Protected Sub cmd登録_Click _ (ByVal sender As Object, ByVal e As System.EventArgs) _ Handles cmd登録.Click Dim ret As Integer ret = MsgBox("このデータで書き込んでもよろしいですか?", vbYesNo) If ret = vbNo Then Exit Sub End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ' ' ' ' ' ' ' ' サーバに書込む ' ' ' ' ' ' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '************************************************************' ' 初期処理 '************************************************************'
'//---コネクション Dim Mycn As New SqlConnection _ ("Data Source=anp_sqlserver;" _ & "Initial Catalog=" & "PC固定資産管理システム" _ & ";User ID=sa;password=''") Mycn.Open() Dim MyAdapter As SqlDataAdapter '//---データセット Dim MyDataSet As DataSet Dim MyTable As DataTable Dim Myrow As DataRow
'//---更新したい固定資産ID Dim KoteishisanID As Long
'//---自動生成コマンド(sqlcommandbuilderオブジェクト)を作成 Dim Mycmd As SqlCommandBuilder '************************************************************' '************************************************************' ' 更新モードの時、データを搾り出して更新 '************************************************************' '************************************************************' If Me.txt入力モード.Text = 1 Then KoteishisanID = Me.txtUPID.Text MyDataSet = New DataSet() MyAdapter = New SqlDataAdapter _ ("select * from [TA1001_PCマスタ] where ID=" _ & KoteishisanID, Mycn) MyAdapter.Fill(MyDataSet, "TA1001_PCマスタ")
'//---tbに「TA1001_PCマスタ」をセット MyTable = MyDataSet.Tables("TA1001_PCマスタ") '--------------------------------------------------------' ' レコードを更新 '--------------------------------------------------------' '//---行の更新開始 MyTable.Rows(0).BeginEdit() '//---更新開始 ※↓ここの処理が全く反応しません。 例えば「txtPC名」テキストボックスが元は「AA」と言う値が入っていたとします。「txtPC名」を「BB」と更新し、msgbox(me.txtPC名.text)命令を書き込んだ場合「AA」とでます。又、直接「MyTable.Rows(0)("PC名") = Me.txtPC名.Text」を「MyTable.Rows(0)("PC名") ="WWW"」と書き込んだ場合、サーバは更新されております。何か忘れてるコマンドがあるのでしょうか?
MyTable.Rows(0)("PC名") = Me.txtPC名.Text MyTable.Rows(0)("OS名") = Me.cboOS名.SelectedValue MyTable.Rows(0)("使用用途") = Me.txt使用用途.Text MyTable.Rows(0)("社員コード") = Me.txt社員コード.Text MyTable.Rows(0)("社員名") = Me.txt社員名.Text MyTable.Rows(0)("JOBコード") = Me.txtJobコード.Text MyTable.Rows(0)("固定資産管理コード") = Me.txt固定資産コード.Text If Me.txt納品日.Text <> "" Then MyTable.Rows(0)("納品日") = CDate(Me.txt納品日.Text) End If MyTable.Rows(0)("資産区分ID") = Me.cbo資産区分.Text If Me.txt搭載メモリ容量.Text <> "" Then MyTable.Rows(0)("搭載メモリ容量") = Me.txt搭載メモリ容量.Text End If If Me.txt搭載HDD容量.Text <> "" Then MyTable.Rows(0)("搭載HDD容量") = Me.txt搭載HDD容量.Text End If MyTable.Rows(0)("搭載CPU名ID") = Me.cbo搭載CPU名.SelectedValue If Me.txt搭載CPU周波数.Text <> "" Then MyTable.Rows(0)("搭載CPU周波数") = Me.txt搭載CPU周波数.Text End If MyTable.Rows(0)("機種区分ID") = Me.cbo機種区分.SelectedValue MyTable.Rows(0)("設置場所") = Me.txt設置場所.Text
'//---更新終了 MyTable.Rows(0).EndEdit()
'//---自動生成コマンド Dim MyCommand As New SqlCommandBuilder(MyAdapter) '//---SQLDataAdapterオブジェクトに自動生成コマンドをセット MyAdapter.UpdateCommand = MyCommand.GetUpdateCommand '//---SQLDataAdapterオブジェクトを更新 MyAdapter.Update(MyDataSet, "TA1001_PCマスタ")
'//---終了メッセージ MsgBox(Me.txtPC名.Text _ & " の更新処理が完了しました!システムを終了します.") End If '************************************************************' '************************************************************' ' 新規の行を作成(新規追加モードの時) '************************************************************' '************************************************************'
If Me.txt入力モード.Text = 0 Then MyDataSet = New DataSet() '//---Datasetオブジェクトにデータをバインド MyAdapter = _ New SqlDataAdapter("select * from [TA1001_PCマスタ]", Mycn) MyAdapter.Fill(MyDataSet, "TA1001_PCマスタ")
'//---tbに「TA1001_PCマスタ」をセット MyTable = MyDataSet.Tables("TA1001_PCマスタ")
Myrow = MyTable.NewRow() '--------------------------------------------------------' ' データを追加 '--------------------------------------------------------' Myrow("PC名") = Me.txtPC名.Text Myrow("OS名") = Me.cboOS名.SelectedValue Myrow("使用用途") = Me.txt使用用途.Text Myrow("社員コード") = Me.txt社員コード.Text Myrow("社員名") = Me.txt社員名.Text If Me.txtJobコード.Text <> "" Then Myrow("JOBコード") = Me.txtJobコード.Text End If If Me.txt固定資産コード.Text <> "" Then Myrow("固定資産管理コード") = Me.txt固定資産コード.Text End If
If Me.txt納品日.Text <> "" Then Myrow("納品日") = CDate(Me.txt納品日.Text) End If
Myrow("資産区分ID") = Me.cbo資産区分.Text If Me.txt搭載メモリ容量.Text <> "" Then Myrow("搭載メモリ容量") = Me.txt搭載メモリ容量.Text End If
If Me.txt搭載HDD容量.Text <> "" Then Myrow("搭載HDD容量") = Me.txt搭載HDD容量.Text End If
Myrow("搭載CPU名ID") = Me.cbo搭載CPU名.SelectedValue If Me.txt搭載CPU周波数.Text <> "" Then Myrow("搭載CPU周波数") = Me.txt搭載CPU周波数.Text End If
Myrow("機種区分ID") = Me.cbo機種区分.SelectedValue Myrow("設置場所") = Me.txt設置場所.Text
'//---行を更新 MyTable.Rows.Add(Myrow)
Mycmd = New SqlCommandBuilder(MyAdapter)
'//---sqlDataAdapterオブジェクトに自動生成コマンドをセット MyAdapter.InsertCommand = Mycmd.GetInsertCommand
'//---sqlDataadapterオブジェクトを更新 MyAdapter.Update(MyDataSet, "TA1001_PCマスタ") MsgBox(Me.txtPC名.Text & " の新規追加処理が完了しました!システムを終了します.") End If
Mycn.Close() Response.Redirect("toppage.aspx")
End Sub
|