Dim ItemID As Integer
KAYAReqConn.Open()
SQLCmd = New SqlCommand("SELECT ISNULL(MAX(ItemID),0) AS ItemID from MstItem", ReqConn)
Dim dr As SqlDataReader
dr = SQLCmd.ExecuteReader
If dr.HasRows Then
dr.Read()
ItemID = dr("ItemID") + 1
End If
dr.Close()
在这种情况下,使用itemid作为唯一ID 格式是1,2,3 ...... 并且m找出最大值并分配给新记录,但是如果前一个id是a00001,a00002,a00003,a00004 ......那么如何分配。 我如何在这种情况下产生一个唯一的身份
答案 0 :(得分:1)
你可以获取所有ID,逐个访问它,打破id并只取整数部分,从中找到最大值,生成下一个id并用prefix ...将它连接起来..
这可能是一个耗时的过程,但我找不到任何其他方式。
答案 1 :(得分:0)
对于这两种情况,您最好在数据库中使用自动递增的int identity字段。
对于'a0001',您仍然可以将其作为整数存储,如果'a0000'用于显示,则将其附加到您的代码中。或者可能有一个前缀字段来存储'a'部分 - 这取决于您的要求。