excel - 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()
解决方案
假设表配置了一个自动编号的主键列。然后紧接着cmd.ExecuteNonQuery()
你应该再做一点 SQL:
cmd.commandtext = "select last_insert_id()"
myid = cmd.ExecuteScalar
myid 将包含最后插入的列的主键值。
推荐阅读
- laravel - 在 Laravel 5.7 中更改验证电子邮件的默认“主题”字段
- php - ClassNotFoundException 试图从全局命名空间加载类“RajaOngkirLib”。您是否忘记了“使用”声明?
- javascript - 在javascript中创建新的数组排序多维数组
- excel - 忽略 Google 表格中索引/排名中的空白
- sql-server - 分析服务将日期转换为日期时间
- groovy - 如何验证 Groovy 文件是否具有正确的语法而不运行它?
- ruby-on-rails - 如何在 Ruby on Rails 中的表之间添加查询
- jmeter - jmeter:需要执行 x 个 http 请求,每个请求有 3 个从 JSON 提取器结果中选取的对象,每 3 个
- react-native - 不变违规:元素类型无效:预期字符串:React-Native
- rabbitmq - RabbitMq 消费者直到它 ACK 或 NACK 前一条消息才收到另一条消息