VB对ACCESS数据库 *** 作时,为了避免重复添加记录,应该如何来做呢?

VB对ACCESS数据库 *** 作时,为了避免重复添加记录,应该如何来做呢?,第1张

这个很简单啊,你在添加记录前,先搜索一下数据库中是否已经存在这个记录,有就提示,没有就保存新纪录。

例子:(由于数据库 *** 作引擎不同,可能不适合你,仅仅是个例子)

rs.open

"select

*

from

用户表

where

用户名='"

&

username

&

"'

and

密码='"

&

password

&

"'",conn,1,1

if

rs.eof

then

conn.execute

"insert

into

用户表

(用户名,密码)

values

('"

&

username

&

"','"

&

password

&

"')"

else

msgbox

"用户已存在!"

end

if

rs.close

因为无论是第三方数据库还是自己的数据库,都不知道你要添加或者修改后的记录是什么内容,是否已经存在。因此我在解决这个问题的时候是根据需要,用要添加的记录的关键字或者整条记录作条件对要插入的表进行查询,如果返回记录条数大于0,说明已经存在了,提示该记录存在,否则就添加进去。步骤如下:

1.检查数据合法性

2.在要插入的表中检索该记录

3.返回记录条数大于0,提示改记录存在

4.等于0,进行相应处理。

不知道你要解决的是不是这样的问题,希望对你有所帮助。

一个例子:

在保存时先打开数据库,用现在输入的关键字到数据库中查找是否有该记录,如果有则退出该过程,也就是不保存,如果没有,则继续该 *** 作

Private Sub Command1_Click()

Set cn = New ADODB.Connection

Set rs = New ADODB.Recordset

cn.CursorLocation = adUseClient

cn.Open "Provider=Microsoft.Jet.OLEDB.4.0Data Source=" &App.Path &"\客户信息.mdb"'打开数据库

sql = "select * from khxx where 客户编号= '" &Text1(0).Text &"'"

rs.Open sql, cn, 1, 1

If rs.RecordCount >0 Then '根据关键字查找数据库是否有该记录,如果有

MsgBox "已有相同编号,请区别!", 48, "错误提示" '报错

Text1(0).Text = "" '清除已经输入的

Text1(0).SetFocus '光标移动到该位置

Exit Sub'退出此过程

End If

rs.Close

Set rs = Nothing

cn.Close

Set cn = Nothing '关闭数据库

.....

end sub


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9916472.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存