• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

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

sql 来源:Erik Lydecker 3次浏览

如何从数据集的身份证号码列中获得最高身份证号码?我正在使用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值只是暂时的,与真实值替换记录插入之后。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)