首页 > 解决方案 > Visual Basic Datagridview到带有主键的mysql(按顺序自动生成的数字)

问题描述

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

标签: excelvb.net

解决方案


假设表配置了一个自动编号的主键列。然后紧接着cmd.ExecuteNonQuery()你应该再做一点 SQL:

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

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


推荐阅读