获得身份证号码列中的最高身份证号码并增量
如何从数据集的身份证号码列中获得最高身份证号码?我正在使用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