LISTBOXの内容が更新されません。
VB初心者です。よろしくお願いします。
visual basic2010expressにて作成してます
担当者の新規・更新のプログラムで テキストBOX(2)・LISTbox(1)・ボタンで構成されてます。
DBを読み込み LISTBOXに表示し
LISTBOXで セレクトされたものを テキストBOXに表示し 修正し
更新処理(DB更新・LISTBOX更新)をします。
新規の場合は テキストBOXに入力し 新規処理(DB追加・LISTBOX更新)をします。
DB更新迄はされるのですが リストボックスに反映されません。
再度 更新ボタンを押下すると 変更後の内容になります。
初心者の為 コードが分かりにくいと思いますがよろしくお願いします。
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
'**********リストボックスセット**********
LISTBOX_SET()
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
'**********新規登録**********
'データベース接続用オブジェクト生成
Try
Dim CON As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TEST.mdb")
'開始
CON.Open()
Dim selectcommand As String = "INSERT INTO tantousya (ta_no, ta_mei) VALUES ('{0}', '{1}' );"
Using cmb As OleDbCommand = New OleDbCommand( String.Format( selectcommand, TextBox1.Text, TextBox2.Text), CON)
cmb.ExecuteNonQuery()
End Using
'**********リストボックスセット**********
LISTBOX_SET()
End Try
End Sub
Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
End
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
'**********変更登録**********
'データベース接続用オブジェクト生成
Try
Dim CON As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TEST.mdb")
'開始
CON.Open()
Dim selectcommand As String = "UPDATE tantousya SET ta_mei = '{0}' WHERE ta_no = {1};"
Using cmb As OleDbCommand = New OleDbCommand( String.Format(selectcommand, TextBox2.Text, TextBox1.Text), CON)
cmb.ExecuteNonQuery()
End Using
'**********リストボックスセット**********
LISTBOX_SET()
End Try
End Sub
Private Sub LISTBOX_SET()
'**********リストボックスセット**********
'接続文字列
Dim i As Integer
'データベース接続用オブジェクト生成
Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\TEST.mdb")
Try
'開始
con.Open()
Dim SQLCom As OleDbCommand = con.CreateCommand
Dim selectcommand As String = "SELECT * FROM tantousya;"
Dim da As OleDbDataAdapter = New OleDbDataAdapter(selectcommand, con)
Dim ds As DataSet = New DataSet()
'データーセット()
da.Fill(ds)
Dim LIST As List(Of String) = New List(Of String)
For i = 0 To ds.Tables(0).Rows.Count - 1
LIST.Add(ds.Tables(0).Rows(i)("ta_no") & ds.Tables(0).Rows(i)("ta_mei")
Next
ListBox1.DataSource = LIST ・・・・・・・・・<ここのLISTの内容は変更になってます>・・・
Finally
'データベース終了
con.Close()
End Try
End Sub
Private Sub ListBox1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
TextBox1.Text = MID(ListBox1.SelectedItem,1,2)
TextBox2.Text = MID(ListBox1.SelectedItem,3,10)
End Sub