自增主键值始终为 0
Auto increment primary key value is always 0
我尝试使用以下代码向数据库添加新行。
即使 Rundef
table 有一个应该自动递增的主键,它的值始终为零。为什么会这样?
Private oRunDefDS As DataSet
Dim oDR As DataRow = oRunDefDS.Tables("RunDef").NewRow()
设计 Rundef
table:
当您在代码中创建一个新行时,它还没有被插入到数据库中。这意味着数据库引擎没有分配它的增量 ID,而是给它一个默认值 0。
将记录插入数据库,id 应该会自动更新,但您可能需要重新读取该行以取回数据,具体取决于您正在使用的数据访问方式。
如果不是这种情况,那么您的代码可以创建许多仅供内部使用的新行,但需要对使用的 ID 进行预留。如果您从未将这些新行保存到数据库中,您最终会在增量 ID 中出现很多空白。
我尝试使用以下代码向数据库添加新行。
即使 Rundef
table 有一个应该自动递增的主键,它的值始终为零。为什么会这样?
Private oRunDefDS As DataSet
Dim oDR As DataRow = oRunDefDS.Tables("RunDef").NewRow()
设计 Rundef
table:
当您在代码中创建一个新行时,它还没有被插入到数据库中。这意味着数据库引擎没有分配它的增量 ID,而是给它一个默认值 0。
将记录插入数据库,id 应该会自动更新,但您可能需要重新读取该行以取回数据,具体取决于您正在使用的数据访问方式。
如果不是这种情况,那么您的代码可以创建许多仅供内部使用的新行,但需要对使用的 ID 进行预留。如果您从未将这些新行保存到数据库中,您最终会在增量 ID 中出现很多空白。