here are the sql statement I am using, are there any fault in them?
'
'OleDbInsertCommand1
'
Me.OleDbInsertCommand1.CommandText = "INSERT INTO Accounts(Account_Name, Account_Reference, ID, SubID) VALUES (@Name, @Ref, @ID, @Sub);"
Me.OleDbInsertCommand1.Connection = Me.Cnn
Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Name", System.Data.OleDb.OleDbType.VarWChar, 50, "Account_Name"))
Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@Reference", System.Data.OleDb.OleDbType.VarWChar, 12, "Account_Reference"))
Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@ID", System.Data.OleDb.OleDbType.VarWChar, 5, "ID"))
Me.OleDbInsertCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("@SubID", System.Data.OleDb.OleDbType.VarWChar, 5, "SubID"))
'
'OleDbSelectCommand1
'
Me.OleDbSelectCommand1.CommandText = "SELECT Account_Name, Account_Reference, ID, [Key], SubID FROM Accounts"
Me.OleDbSelectCommand1.Connection = Me.Cnn
'
'OleDbUpdateCommand1
'
Me.OleDbUpdateCommand1.CommandText = "UPDATE Accounts SET Account_Name = ?, Account_Reference = ?, ID = ?, SubID = ? WHERE ([Key] = ?) AND (Account_Name = ? OR ? IS NULL AND Account_Name IS NULL) AND (Account_Reference = ? OR ? IS NULL AND Account_Reference IS NULL) AND (ID = ? OR ? IS NULL AND ID IS NULL) AND (SubID = ? OR ? IS NULL AND SubID IS NULL)"
Me.OleDbUpdateCommand1.Connection = Me.Cnn
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter ("Account_Name", System.Data.OleDb.OleDbType.VarWChar, 50, "Account_Name"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("Account_Reference", System.Data.OleDb.OleDbType.VarWChar, 12, "Account_Reference"))
Me.OleDbUpdateCommand1.Parameters.Add(New System.Data.OleDb.OleDbParameter("ID", System.Data.OleDb.OleDbType.VarWChar, 5, "ID"))
Me.OleDbUpdateCommand1.P