Search code examples
databasevb.netvb.net-2010

Not sure how to update a single customers records. VB.net


When I get rid of the 'where' in the SQL statement it works but overwrites all the data, however, I can't get it to work with only one specific customer. Could someone show me where I am going wrong thanks.

Private Sub Save_but_Click(sender As Object, e As EventArgs) Handles Save_but.Click

    Dim sqlcmd As New OleDbCommand
    cn.Open()
    sqlcmd.Connection = cn
    sqlcmd.CommandText = "Update TblCustomers Set CFName= @CFName, CSName = @CSName, Caddress= @Caddress,"
    sqlcmd.CommandText &= "CTelNo = CTelNo WHERE CustID = @PublicCustID"
    sqlcmd.Parameters.AddWithValue("@FName", TxtFirstName.Text)
    sqlcmd.Parameters.AddWithValue("@CName", TxtSurname.Text)
    sqlcmd.Parameters.AddWithValue("@Caddress", TxtAddress.Text)
    sqlcmd.Parameters.AddWithValue("@CTelNo", TxtTelNo.Text)
    sqlcmd.Parameters.AddWithValue("CustomerId", PublicCustID)

    sqlcmd.ExecuteNonQuery()

    cn.Close()
    MessageBox.Show("Customer information has been updated.", PublicCustID)

Solution

  • Just Add the parameter for @PublicCustID before executenonQuery

     sqlcmd.Parameters.AddWithValue("@PublicCustID", yourPublicCustID)
    

    Remove line

     sqlcmd.Parameters.AddWithValue("CustomerId", PublicCustID)