掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
コンボボックスのデータが消えてしまうのを防ぐには? (ID:118269)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
たびたびすいません。 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.SelectedItem = "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() scn.Open() sdaSyozoku.Fill(ds, "所属マスター") cmbSyozoku.DataSource = ds sdaYakusyoku.Fill(ds, "役職マスター") cmbYakusyoku.DataSource = ds scn.Close() End Sub 'リセットボタンが押された時のイベント Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click '全てのフィールドの初期化 txtID.Text = "" txtName.Text = "" txtKana.Text = "" cmbSex.SelectedItem = "男性" txtBirthDay.Text = "" cmbSyozoku.SelectedValue = 1 cmbYakusyoku.SelectedValue = 1 cmbBlood.SelectedItem = "A" txtEmail.Text = "" txtPost.Text = "" txtAddress.Text = "" txtTel.Text = "" txtKeitai.Text = "" txtTansyuku.Text = "" txtNaisen.Text = "" txtNyuusya.Text = "" End Sub 上のコマンドのように、記述したんですが、一度、データベースに書き込みを行うと、データベースから読み込んできたコンボボックス(cmbYakusyokuとcmbSyozoku)の2個のデータが消えてしまいます。 どなたか、教えてください。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.