在数据库VB.net中手动增加ID号

时间:2015-10-27 12:47:23

标签: database vb.net

我正在尝试递增主键,在这种情况下是一个ID号,手动而不是使用SQL或OleDBConnection或类似的东西。理想情况下,我要做的是保存新记录时,转到数据库中的最后一条记录,从该记录中提取ID号,再加上一条记录,并将该新号码设置为新记录的ID记录。但是,我无法理解我的生活。继承人我所拥有的:

Dim max As Integer
Dim id As Integer
Dim lastrow As Integer

max = Database1DataSet1.Table.Rows.Count

For i = max To max

    Dim column As DataColumn = Database1DataSet1.Table.IdColumn
    lastrow = Database1DataSet1.Table.Rows(max).ToString

Next i

我在数据库中有17条记录,我不断得到的错误是“17号位没有行。”

1 个答案:

答案 0 :(得分:2)

所有集合在.NET中都是零,所以你的循环需要一直到typedef struct adr{ char anrede [5]; char vorname [51]; char nachname [51]; char plz [8]; char ort [60]; char strasse [51]; char land [24]; char festnetz [14]; char mobil [14]; char mail [101]; char geburtsdatum [11]; char kategorie [31]; char startnummer [5]; char startzeit [9]; char zeit [9]; char rang [5]; char fahrrad [31]; char sponsor [31]; } adressen; struct node{ adressen *konto; struct node *prev; struct node *next; }; 。但在这种情况下,你不想要一个循环,但最后一行

max-1

但由于无法保证最后一行包含max-id-value,您还可以使用Dim lastrow = Database1DataSet1.Table.Rows(Database1DataSet1.Table.Rows.Count - 1) Dim maxIdValue = lastrow.Id

Linq-To-DataSet

但总的来说,你应该让数据库这样做,否则就是竞争条件。