'フォームロード時のイベント Private Sub frmAdd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load CreateDataSet() scn.Open() sda = New SqlClient.SqlDataAdapter("SELECT * FROM 社員IDマスター", scn) sdaSyozoku = New SqlClient.SqlDataAdapter("SELECT * FROM 所属マスター", scn) sdaYakusyoku = New SqlClient.SqlDataAdapter("SELECT * FROM 役職マスター", scn) sda.Fill(ds, "社員IDマスター") sdaSyozoku.Fill(ds, "所属マスター") sdaYakusyoku.Fill(ds, "役職マスター") cmbSyozoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "所属マスター.所属ID")) cmbSyozoku.DataSource = ds cmbSyozoku.DisplayMember = "所属マスター.所属名" cmbSyozoku.ValueMember = "所属マスター.所属ID" cmbYakusyoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "役職マスター.役職ID")) cmbYakusyoku.DataSource = ds cmbYakusyoku.DisplayMember = "役職マスター.役職名" cmbYakusyoku.ValueMember = "役職マスター.役職ID" scn.Close() cmbSyozoku.SelectedValue = 1 cmbYakusyoku.SelectedValue = 1 cmbBlood.SelectedValue = "A型" cmbSex.SelectedItem = "男性"
End Sub
'保存ボタンが押された時のイベント Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click Dim myCommand As New SqlClient.SqlCommandBuilder(sda) CreateDataSet() scd.CommandText = "SELECT 社員ID ,名前 ,ふりがな ,性別 ,生年月日 ,所属ID ,役職ID ,血液型 ,電子メール ,郵便番号 ,住所 ,自宅電話番号 ,携帯電話番号 ,携帯短縮番号 ,内線番号 ,入社年月日 " & " [社員IDマスター]" Dim myRow As System.Data.DataRow Dim myTable As New System.Data.DataTable myTable.Clear() If txtNyuusya.Text = "" Then '入社年月日が記入されていないとき、1999年4月1日を代入する。 txtNyuusya.Text = "1999/04/01" End If If txtBirthDay.Text = "" Then '生年月日が記入されていないとき、1975年4月4日を代入する。 txtBirthDay.Text = "1975/04/04" End If
分類:[.NET]
Private Sub CreateDataSet()
scn = New SqlClient.SqlConnection("workstation id=SATAKEN95;" & _
"user id=sa;" & _
"password=sataken;" & _
"data source=SATA-XP2;" & _
"persist security info=False;" & _
"initial catalog=test;")
scd.Connection = scn
End Sub
'フォームロード時のイベント
Private Sub frmAdd_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
CreateDataSet()
scn.Open()
sda = New SqlClient.SqlDataAdapter("SELECT * FROM 社員IDマスター", scn)
sdaSyozoku = New SqlClient.SqlDataAdapter("SELECT * FROM 所属マスター", scn)
sdaYakusyoku = New SqlClient.SqlDataAdapter("SELECT * FROM 役職マスター", scn)
sda.Fill(ds, "社員IDマスター")
sdaSyozoku.Fill(ds, "所属マスター")
sdaYakusyoku.Fill(ds, "役職マスター")
cmbSyozoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "所属マスター.所属ID"))
cmbSyozoku.DataSource = ds
cmbSyozoku.DisplayMember = "所属マスター.所属名"
cmbSyozoku.ValueMember = "所属マスター.所属ID"
cmbYakusyoku.DataBindings.Add(New System.Windows.Forms.Binding("SelectedValue", Me.ds, "役職マスター.役職ID"))
cmbYakusyoku.DataSource = ds
cmbYakusyoku.DisplayMember = "役職マスター.役職名"
cmbYakusyoku.ValueMember = "役職マスター.役職ID"
scn.Close()
cmbSyozoku.SelectedValue = 1
cmbYakusyoku.SelectedValue = 1
cmbBlood.SelectedValue = "A型"
cmbSex.SelectedItem = "男性"
End Sub
'保存ボタンが押された時のイベント
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim myCommand As New SqlClient.SqlCommandBuilder(sda)
CreateDataSet()
scd.CommandText = "SELECT 社員ID ,名前 ,ふりがな ,性別 ,生年月日 ,所属ID ,役職ID ,血液型 ,電子メール ,郵便番号 ,住所 ,自宅電話番号 ,携帯電話番号 ,携帯短縮番号 ,内線番号 ,入社年月日 " & " [社員IDマスター]"
Dim myRow As System.Data.DataRow
Dim myTable As New System.Data.DataTable
myTable.Clear()
If txtNyuusya.Text = "" Then '入社年月日が記入されていないとき、1999年4月1日を代入する。
txtNyuusya.Text = "1999/04/01"
End If
If txtBirthDay.Text = "" Then '生年月日が記入されていないとき、1975年4月4日を代入する。
txtBirthDay.Text = "1975/04/04"
End If
myTable = ds.Tables("社員IDマスター") '保存先のテーブル名設定
myRow = myTable.NewRow() '新しいデータ列の設定
'データ行の設定
myRow("社員ID") = txtID.Text
myRow("名前") = txtName.Text
myRow("ふりがな") = txtKana.Text
myRow("性別") = cmbSex.SelectedItem
myRow("生年月日") = CDate(txtBirthDay.Text)
myRow("所属ID") = cmbSyozoku.SelectedValue
myRow("役職ID") = cmbYakusyoku.SelectedValue
myRow("血液型") = cmbBlood.SelectedItem
myRow("電子メール") = txtEmail.Text
myRow("郵便番号") = txtPost.Text
myRow("住所") = txtAddress.Text
myRow("自宅電話番号") = txtTel.Text
myRow("携帯電話番号") = txtKeitai.Text
myRow("携帯短縮番号") = txtTansyuku.Text
myRow("内線番号") = txtNaisen.Text
myRow("入社年月日") = CDate(txtNyuusya.Text)
'新しいデータ列を作成
myTable.Rows.Add(myRow)
sda.InsertCommand = myCommand.GetInsertCommand
sda.Update(ds, "社員IDマスター")
ds.Clear()
End Sub
こんな感じでコード記述にしたんですが、一度データを送信すると、
データベースから読み込んできた、cmbyakusyokuとcmbsyozokuのデータが消えてしまいます。
何かいい手はありませんか?