vb向数据库中添加记录的问题 50

以一个条件打开一个数据库得到相关记录集合,然后添加到相关数据库中,这个相关记录集合中的数据,一部分在目标数据库中存在一部分不存在,要求的结果是插入不存在的,使目标数据库存... 以一个条件打开一个数据库得到相关记录集合,然后添加到相关数据库中,这个相关记录集合中的数据,一部分在目标数据库中存在一部分不存在,要求的结果是插入不存在的,使目标数据库存在的记录同相关记录集合中的完全一致。现在我使用的方法是在vb中调用sql语言来实现,但是有网络延迟的时候,就用以出现故障。

想请问大家在vb中使用addnew方法,在添加记录时如果记录存在,就覆盖原记录,或者有没有什么更好复制方法,或者解决这个问题的办法,谢谢了。
3楼的朋友,查询是否存在是不是一定要打开一次数据库这样会不会很慢

4楼的朋友,我已经使用sql语言成功操作了,关键是网络延迟以后,在vb中大量调用sql回导致语句失败,因此我想使用vb本身的dao功能实现,希望大家帮忙~我知道,Execute方法就可以实现调用sql语言,我现在就是这样实现的,但是vpn有网络延迟的时候,就会出现网络一般性错误,所以我想将大多的运行负担加载到本记上执行。

5楼的朋友,谢谢你的回答,关键是打开后如何比价,我的纪录集大概有3000多左右吧,可能其中有几百个是需要目标纪录中没有的,其余的是需要的,我总不能循环3000次,并且打开和关闭3000次数据库来比较纪录呀~有什么好的操作方法吗?谢谢了。
展开
 我来答
junjun4631
2007-06-10 · 超过24用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:60.8万
展开全部
用ADO就行了,DAO一点也不好用。
可以把查询的结果存在一个自定义的记录里。然后打开目标数据库(Dim Con As ADODB.Connection
Dim rs As ADODB.Recordset
Set Con = New ADODB.Connection
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db\db1.mdb;Persist Security Info= False"
Con.Open strCon

Set rs = New ADODB.Recordset
strsql = "select * from 品番 "

rs.Open strsql, Con, adOpenKeyset, adLockOptimistic
)打开后,可以比较有没有重复的,没有的话可以用addnew增加记录。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友32cdd9945
2007-06-03 · TA获得超过1374个赞
知道大有可为答主
回答量:2429
采纳率:100%
帮助的人:1919万
展开全部
"以一个条件打开一个数据库得到相关记录集合 " 可以用into table 语句来建一个新的表,。
update 语句也可以更新原有数据。
“但是有网络延迟的时候,就用以出现故障。 ” 不知道什么情况,不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maxjiejie2006
2007-06-02 · TA获得超过275个赞
知道小有建树答主
回答量:572
采纳率:0%
帮助的人:0
展开全部
不能覆盖的.如果存在就对信息进行修改,要想实现像覆盖那样的功能 只有用存储过程实现.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友1b7eae8
2007-06-03 · TA获得超过700个赞
知道小有建树答主
回答量:967
采纳率:0%
帮助的人:710万
展开全部
在写入之前先查询是否存在,
如果不存在则不执行INSERT ,
如果存在 则执行update ,
具体的找资料,我只能给你思路。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
francis674
2007-06-07 · TA获得超过362个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:404万
展开全部
貌似
select * from b where id not in(select id from a) into a
就可以实现。

大量调用????
用dao调用这一句就实现了所有记录的更新。唉~!

不明白你想要什么效果。QQ:158726165
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式