设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 101|回复: 9
打印 上一主题 下一主题

[已解决] -同一个access库不能同时写入两个表?

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-10 05:59:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RT.

我同时向一个数据库中两个表写入数据.但只有前面一个表写入成功.

我用的是
rs.open sql,conn,1,3
rs.addnew
rs("bt")=request.form("bt")
rs("nr")=request.form("nr")
rs("du")=request.form("du")
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing

这样的写入方法.

但结果是,只写入了前面的一个前,而后面的一个表反回是提交成功,但没有数据写入(也没有空白).

当我把写入后面表的代码分离出来,在另一个asp文件中测试时切又可以写入了.

小弟刚学asp,请问asp同时写入两个表有什么特殊的要求吗?我打开表都是用的同一个方法和事件.
---------2008.07.06-解决------------

在各位的帮助下我肯定了adodb的操作是没有错误的.于是我将每一个关键及可能为问题的代都用response.write出来.
结果问题发现了.我上下两个表的sql语句都是用sql变量定义,因为php中,变量是随着内存变化的.而asp中在一个声明中是不变的. 困扰多天的问题终于解决了!感觉asp比php难多了.

-----------------------------
TO:tianyu 和hmhz版主.
我重新写了一个简单的入库代码,同时都用的是一个记录集(rs),切可以同时写入两个表
我也记得在学adodb时候,官方有说明,如果是同时链接两个库的话,那么需要两个记录集和两个事件来连接.

不知道是否是二位记错了.


同时怀疑这个不能写入是其它的原因,但经验不足...
还请大家多多讨论!



-----------------------------
2#
发表于 2010-1-10 05:59:56 | 只看该作者
版主的说法是对的。或者你可以这样
rs1.open sql1,conn,1,3
rs2.open sql2,conn,1,3

rs1.addnew

rs2.addnew

rs1("bt")=request.form("bt")
rs1("nr")=request.form("nr")
rs1("du")=request.form("du")
rs2("bt")=request.form("bt")
rs2("nr")=request.form("nr")
rs2("du")=request.form("du")
rs1.update
rs1.close
rs2.update
rs2.close
set rs1=nothing



set rs2=nothing

conn.close
set conn=nothing
这样好懂一些吧/。
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-10 06:00:00 | 只看该作者
谢谢tianyu ,这是第二次你对我的帮助了.
谢谢版主hmhz.提供这么详劲的说明!
回复 支持 反对

使用道具 举报

4#
发表于 2010-1-10 06:00:04 | 只看该作者
为了不出问题,最好两个不一样,防止冲突
回复 支持 反对

使用道具 举报

5#
发表于 2010-1-10 06:00:07 | 只看该作者
版主,我用了同一记录集,切可以写入两个不同的表,但我把此代码运行到其它代码中时确无法写入
回复 支持 反对

使用道具 举报

6#
发表于 2010-1-10 06:00:11 | 只看该作者
偶太菜了,问题还没解决.

请问下,如果是同时写入两个表,是不是不能用"rs"命名这个事件.而非要用rs1, rs2 这样的词?
回复 支持 反对

使用道具 举报

7#
发表于 2010-1-10 06:00:15 | 只看该作者
哪位好心人,能否能一份asp同时写入access两个表的源码给小弟学习下.

今天我试了很多方法都不能用.
回复 支持 反对

使用道具 举报

8#
发表于 2010-1-10 06:00:19 | 只看该作者
例如:

rs1.open sql1,conn,1,3
rs1.addnew
rs1("bt")=request.form("bt")
rs1("nr")=request.form("nr")
rs1("du")=request.form("du")
rs1.update
rs1.close
set rs1=nothing

rs2.open sql2,conn,1,3
rs2.addnew
rs2("bt")=request.form("bt")
rs2("nr")=request.form("nr")
rs2("du")=request.form("du")
rs2.update
rs2.close
set rs2=nothing

conn.close
set conn=nothing
回复 支持 反对

使用道具 举报

9#
发表于 2010-1-10 06:00:23 | 只看该作者
同时向两个表中写入数据,需要创建两个不同的记录集
回复 支持 反对

使用道具 举报

10#
发表于 2010-1-10 06:00:27 | 只看该作者
rs 是自定义的,你也可以写成ABC啊,或者Ars 都可以的,只要两个记录集名不相同就行了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 15:24 , Processed in 0.097903 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表