获得身份证号码列中的最高身份证号码并增量

如何从数据集的身份证号码列中获得最高身份证号码?我正在使用ADO.NET(C#)。如果我这样做:获得身份证号码列中的最高身份证号码并增量

dataSet.Tables["Students"].Columns["ID"].AutoIncrement = true; 

当我到达已存在的ID时,应用程序将抛出异​​常。从“高数”开始只是一个丑陋的黑客。那么如何正确和安全地做到这一点呢?

我在GridView中添加新行并将该数据保存到缓存,然后从缓存恢复到DataSet,然后使用DataAdapter方法“更新”将新数据发回SQL Server。

回答:

以下是一种方法,因为该值将从数据库中插入,因为它是一个IDENTITY列,所分配的值无关紧要。但我会用一个负值来表示这一行当前没有添加到数据库中。

所以递增added-rows DataTable的负面行计数值:

DataTable tblStudents = dataSet.Tables["Students"]; 

DataRow addedRow = tblStudents.Rows.Add();

DataTable tblAddedRows = tblStudents.GetChanges(DataRowState.Added);

addedRow.SetField("ID", -1 * tblAddedRows.Rows.Count);

// other columns...

冲突是不可能的,因为这个ID值只是暂时的,与真实值替换记录插入之后。

以上是 获得身份证号码列中的最高身份证号码并增量 的全部内容, 来源链接: utcz.com/qa/261734.html

回到顶部