Visual Basic Datagridview для MySQL с первичным ключом (автоматически сгенерированный номер в последовательности) - PullRequest
0 голосов
/ 24 октября 2018

Я занимаюсь разработкой программы, которая импортирует excel в datagridview и datagridview в базу данных mysql.мой datagridview не имеет автоматически сгенерированного первичного ключа.я хочу знать, как вставить содержимое datagridview в таблицу mysql с первичным ключом, который будет генерировать последовательное число при добавлении новой строки.мой код выглядит следующим образом

"idno" является первичным ключом, и я хочу, чтобы он генерировал последовательное число всякий раз, когда я ввожу новую строку


Private Sub ImportDataButton_Click(sender As Object, e As EventArgs) Handles ImportDataButton.Click
    Try
        Dim cmd As MySqlCommand
        connection.Open()
        For i As Integer = 0 To DGV1.Rows.Count - 1 Step +1
            cmd = New MySqlCommand("insert into table_import values(@no,@web,@channel,@facebook,@description)", connection)
            cmd.Parameters.Add("@no", MySqlDbType.VarChar).Value = DGV1.Rows(i).Cells(0).Value.ToString()
            cmd.Parameters.Add("@web", MySqlDbType.VarChar).Value = DGV1.Rows(i).Cells(1).Value.ToString()
            cmd.Parameters.Add("@channel", MySqlDbType.VarChar).Value = DGV1.Rows(i).Cells(2).Value.ToString()
            cmd.Parameters.Add("@facebook", MySqlDbType.VarChar).Value = DGV1.Rows(i).Cells(3).Value.ToString()
            cmd.Parameters.Add("@description", MySqlDbType.VarChar).Value = DGV1.Rows(i).Cells(4).Value.ToString()
            cmd.Parameters.Add("@idno", MySqlDbType.Int16).Value =
            cmd.ExecuteNonQuery()


        Next
        connection.Close()
        MsgBox("Data successfully imported !")
        viewDGV1()

1 Ответ

0 голосов
/ 24 октября 2018

Предполагается, что для таблицы настроен столбец первичного ключа автонумерации.Затем сразу после cmd.ExecuteNonQuery() вы должны выполнить еще один бит SQL:

cmd.commandtext = "select last_insert_id()"
myid = cmd.ExecuteScalar

И myid будет содержать значение первичного ключа для последнего вставленного столбца.

...