У меня есть таблица данных Mysql со следующими данными:
ID (int format) [AUTO_INCREMENT]
date (varchar)
ip (varchar)
activate(varchar)
cdkey(varchar)
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Using SQLConnection As New MySqlConnection(ConnectionString)
Using sqlCommand As New MySqlCommand()
With sqlCommand
.CommandText = "INSERT INTO software ('date', 'ip', 'activate', 'cdkey') values (@date,@ip,@activate,@cdkey)"
.Connection = SQLConnection
.CommandType = CommandType.Text
.Parameters.AddWithValue("@ip", Label1.Text)
.Parameters.AddWithValue("@date", TextBox2.Text)
.Parameters.AddWithValue("@activate", "Yes")
.Parameters.AddWithValue("@cdkey", textbox4.Text)
End With
Try
SQLConnection.Open()
sqlCommand.ExecuteNonQuery()
iReturn = True
MsgBox("Display Last Insert ID here")
Catch ex As MySqlException
MsgBox(ex.Message.ToString)
iReturn = False
Catch ex As Exception
Finally
SQLConnection.Close()
End Try
End Using
End Using
Return
End Sub
он работает, за исключением того, что я пытаюсь получить идентификационный номер из базы данных после ввода этих данных. Как я могу это сделать?
Вы должны изменить свой запрос на
.CommandText = "INSERT INTO software ('date', 'ip', 'activate', 'cdkey')
values (@date,@ip,@activate,@cdkey);
SELECT LAST_INSERT_ID();"
Затем вместо ExecuteNonQuery вы вызываете ExecuteScalar и возвращаете значение из LAST_INSERT_ID()
Dim newID As Integer = sqlCommand.ExecuteScalar()