首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有主键的Visual Basic数据视图到mysql (按顺序自动生成编号)

带有主键的Visual Basic数据视图到mysql (按顺序自动生成编号)
EN

Stack Overflow用户
提问于 2018-10-24 07:18:54
回答 1查看 92关注 0票数 0

我正在开发一个程序,将excel导入datagridview,并将datagridview导入mysql数据库。我的datagridview没有自动生成的主键。我想知道如何使用主键将datagridview的内容插入mysql表中,只要添加了新行,主键就会生成序列号。我的代码如下所示

"idno“是主键,我希望它在输入新行时生成一个序列号。

代码语言:javascript
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2018-10-24 12:51:12

假设表配置了一个自动编号主键列。然后,在cmd.ExecuteNonQuery()之后立即执行另一段SQL:

代码语言:javascript
复制
cmd.commandtext = "select last_insert_id()"
myid = cmd.ExecuteScalar

而myid将包含上一次插入列的主键的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52963048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档