Μέχρι τώρα έχω χρησιμοποιήσει
OleDbCommand για να κάνω insert queries σε μια βάση της Access. Επειδή δεν μου επέστρεφε την τιμή του πεδίου auto-increment key field χρησιμοποιούσα ένα δεύτερο
OleDbCommand:ως εξής
Public cmdGetIdentity As New OleDb.OleDbCommand("SELECT @@IDENTITY", Connection)
Στην συνέχει δήλωνα ένα sub για τον πίνακα που με ενδιέφερε
Private Sub RowUpdatedSet_FOREAS(ByVal sender As Object, ByVal e As OleDb.OleDbRowUpdatedEventArgs)
If e.Status = UpdateStatus.Continue AndAlso e.StatementType = StatementType.Insert Then
' If this is an INSERT operation...
' Execute the post-update query to fetch new @@Identity
cmdGetIdentity.Transaction = Adapter_Foreas.InsertCommand.Transaction
e.Row("FOREASID") = CInt(cmdGetIdentity.ExecuteScalar)
e.Row.AcceptChanges()
End If
End Sub
Και τέλος αυτό στον adapter,
AddHandler Adapter_Foreas.RowUpdated, AddressOf RowUpdatedSet_FOREAS
Έτσι μου επέστρεφε την τιμή του πρωτεύοντος κλειδιού της νέας εγγραφής στην βάση.
Το ερώτημα είναι ότι θέλω να κάνω το ίδιο αλλά με βάση δεδομένων την Mysql.
Τι πρέπει να αλλάξω; φαντάζομαι το πρώτο είναι το OleDbCommand να γίνει MySqlCommand
Τι αλλαγές πρέπει να κάνω στο Sub RowUpdatedSet_FOREAS και στο "SELECT @@IDENTITY";