Visual Basic Datagridview到具有主键的mysql(按顺序自动生成的数字)

时间:2018-10-24 07:18:55

标签: excel vb.net excel-vba

我正在开发一个程序,将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 :(得分:0)

假定该表配置有一个自动编号主键列。然后,在cmd.ExecuteNonQuery()之后,您应该再做一点SQL:

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

myid将包含最后插入列的主键值。