香港明星住宅区:VB中给数据库添加记录如何跳过已有的?
来源:百度文库 编辑:高校问答 时间:2024/10/04 17:01:03
请问:
在用ADO向数据库添加记录的时候
Sql = "select * from Sclass"
rs.Open Sql, Coon, 1, 3
rs.AddNew
rs("sclass") ="只是测试"
rs.Update
Sclassid = rs("sclassid")
rs.Close
它的意思是,向数据库sclass表的sclass项添加一条"只是测试"的记录,然后记录下自动生成的 sclassid ,这里假设返回为1
但是,如果我再次运行这段代码,完成后打开数据库发现在原先那条下面有多了一条一样的记录,自动生成的 sclassid 返回为2.
请问,有没有办法跳过重复的?? 我是想,无论是第几次运行这段程序,它都只添加这一次记录,然后依旧会读取这条记录旁边自动生成的这个 sclassid , 1
有办法吗? 请指点.
在用ADO向数据库添加记录的时候
Sql = "select * from Sclass"
rs.Open Sql, Coon, 1, 3
rs.AddNew
rs("sclass") ="只是测试"
rs.Update
Sclassid = rs("sclassid")
rs.Close
它的意思是,向数据库sclass表的sclass项添加一条"只是测试"的记录,然后记录下自动生成的 sclassid ,这里假设返回为1
但是,如果我再次运行这段代码,完成后打开数据库发现在原先那条下面有多了一条一样的记录,自动生成的 sclassid 返回为2.
请问,有没有办法跳过重复的?? 我是想,无论是第几次运行这段程序,它都只添加这一次记录,然后依旧会读取这条记录旁边自动生成的这个 sclassid , 1
有办法吗? 请指点.
先查看数据库中是否有该记录,如果有则跳过,否则添加该记录。
Sql = "select * from Sclass where sclass = '只是测试'"
rs.Open Sql, Coon, 1, 3
if (rst.eof=false )and (rs.bof=false )then
set rs=nothing
rs.Open Sclass, Coon, 1, 3
rs.AddNew
rs("sclass") ="只是测试"
rs.Update
end if
Sclassid = rs("sclassid")
rs.Close
set rs=nothing
只能加个判断,就是你先在里面查找有没有这个记录