Hi,
I have a form where i can enter new product. In that same form i have listbox where i show the current product from the database.
I want to know how to update that listbox as i enter new product into the database so that user can see the current content of the product table.
my code to load the listbox
Try
Dim ds As New DataSet
Dim cmd As New OleDbCommand
Dim da As OleDbDataAdapter = Nothing
cmd.Connection = con
cmd.CommandText = "Select ProductID,ProductName From products"
da = New OleDbDataAdapter(cmd)
da.Fill(ds, "product")
da.Dispose()
cmd.Dispose()
With ListProduct
.DataSource = ds.Tables("product") 'Binds the table to your listbox
.DisplayMember = "ProductName" 'The col in the tbl you want to display
.ValueMember = "ProductID"
.SelectedIndex = -1
End With
Catch ex As Exception
MsgBox(ex.Message.ToString)
Finally
con.Close()
End Try
My add new product code
Try
Dim cmd As OleDbCommand
Dim sqlstr As String, ans As Boolean
sqlstr = "INSERT INTO Products(ProductName,ProductDescription) VALUES ('" & LTrim(txtP.Text) & "', '" & LTrim(txtDesc.Text) & "') "
cmd = New OleDbCommand(sqlstr, con)
ans = cmd.ExecuteNonQuery()
If (ans = True) Then
'message added
MsgBox("success")
Else
MsgBox("not entered") '' error
End If
cmd = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message & " - " & ex.Source)
End Try
To sum it up, what i want is something that will refresh the current display of the listbox so user can see the actual and updated contents of the database.
with the above code, the newly entered product/data can only be seen when the program is closed and reopened again. Which is not very convenient.
thanks