我正在构建一个小应用程序,我遇到了一个需要解决的问题。当我将新客户端插入SQL-SERVER时,我需要创建一个ID号来与客户端一起使用。我有一个值,比如说 - 参考表中的1000 - 从表中拉出,递增1,然后放回到ref表中,值1001被分配给客户端。在将其保存到客户端之前,我将“TOL”添加到该号码中 - 因此,当保存完成时,ID为TOL1001。我需要解决的问题是检查tblClient_TABLE,以确保在为新客户端插入之前ID T1001001已经不存在。
我不确定应该在哪里做,因为在SAVE上,我调用增加数字的函数,为它分配TOL并将值存储在一个不可见的文本框中,所以当我执行插入时,它只是从文本框中提取值... strSQL =“INSERT into tblClient_TABLE(ID)values(”txtIDnumber.text“)
我显然需要插入更多数据,我正在努力寻找一种逻辑方法来检查已有的ID。
感谢任何想法,帮助!
答案 0 :(得分:0)
您的数据库可以使用标识列(= autoincrement)。因此,如果您插入新记录,标识列将获得下一个值(您可以依赖唯一性)。
你怎么得到这个号码? insert语句有(对于mssql)一个“output inserted”子句,如果你使用带有executioncalar的ado,你将得到你的插入id。
SQL命令(为必须添加ado命令的vb6代码)
INSERT INTO [TABLENAME] ( [COL1], [COL2] ) OUTPUT INSERTED.MYID VALUES ( @COL1, @COL2 )
...在此处添加参数值....
result = adoCommand.ExecuteScalar()
(类似的事情,办公室里没有VB6 ......)