Mysql 如何在我的新列VB.NET上添加自动递增编号

Mysql 如何在我的新列VB.NET上添加自动递增编号,mysql,vb.net,Mysql,Vb.net,我的Datagridview包含数据库中的数据,并且我添加了新列,但我想在该列中插入自动递增编号如何执行 这是我新添加的专栏的代码 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim idcolumn As New DataGridViewTextBoxColumn With idcolumn .He

我的Datagridview包含数据库中的数据,并且我添加了新列,但我想在该列中插入自动递增编号如何执行

这是我新添加的专栏的代码

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Dim idcolumn As New DataGridViewTextBoxColumn

    With idcolumn
        .HeaderText = "ID"
        .Name = "ID"

    End With

     Dim count as Integer  ="1"
    count = Val(count) +1
    With DataGridView1
        .Columns.Add(idcolumn)
    End With

End Sub

不要向
DataGridView
添加未绑定的列,而是向
DataTable
添加额外的
DataColumn
。可设置为自动递增的,例如

Dim表作为新数据表
将适配器用作新的MySqlDataAdapter(“从MyTable中选择*,“此处连接字符串”)
adapter.MissingSchemaAction=MissingSchemaAction.AddWithKey
adapter.SelectCommand.Connection.Open()
'从没有数据的数据库中获取架构。
FillSchema(表,SchemaType.Source)
'将自动递增列添加到表中。
使用table.Columns.Add(“ID”,GetType(整数))
.AutoIncrementSeed=1
.AutoIncrementStep=1
.AutoIncrement=True
以
“获取数据。
适配器填充(表)
终端使用

现在,当您绑定时,该列已准备就绪,您不需要任何额外的代码来生成值。

这不是您直接要求的,但我个人认为在DB级别向表中添加autoincrement更为可靠。如果您有权操纵表,请考虑此处提到的自动增量ID:当然,如果您的应用程序被同一数据库上的多个用户所使用,则在代码中有一个计算的自动增量列真的是一个坏主意。正确的方法是使您的字段成为数据库中的一个自动增量字段,并让mySQL为您做艰苦的工作。在应用程序中这样做是不可靠的——如果你有两个用户(甚至只有两个运行的应用程序副本),那么应用程序的两个副本都试图在同一时间发布相同的ID,那么很容易出现重复的问题。使用自动递增字段将此功能集中在数据库中-这就是它的设计目的。任何介绍数据库的教程通常都会解释这种情况。可能数据在我的表中已经有自动增量,但我只想在应用程序中使用我添加的新列ID自动增量。我只想在应用程序中生成自定义ID。