我也来问一个问题:up有分

bhhxd 2003-05-01 11:28:41
我也来问一个问题:
请看如下代码:
在数据库凭证登记簿中有一表 局所名称,包含很多记录,在数据库Test中有一表 table1,没有任何记录
以下代码执行完毕后,test.table1中还是没有任何记录
Dim cn1 As New ADODB.Connection
cn1.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=凭证登记簿"
cn1.Open
Dim rs As New ADODB.Recordset
rs.ActiveConnection = cn1
rs.Source = "局所名称"
rs.Open
If Dir(App.Path & "\a.xml") <> "" Then
Kill App.Path & "\a.xml"
End If
rs.Save App.Path & "\a.xml", adPersistXML
rs.Close
cn1.Close
Dim cn2 As New ADODB.Connection
cn2.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=test"
cn2.Open
rs.Source = "select * from table1"
rs.CursorType = adOpenStatic
rs.CursorLocation = adUseClient
rs.LockType = adLockBatchOptimistic
rs.ActiveConnection = cn2
rs.Open App.Path & "\a.xml", , , , adCmdFile
rs.MoveFirst
Do While Not rs.EOF
Debug.Print rs.Fields(0), rs.Fields(1), rs.Fields(2)
rs.MoveNext
Loop
rs.UpdateBatch adAffectAll

rs.Close
...全文
42 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
bhhxd 2003-05-22
  • 打赏
  • 举报
回复
想问 qingming81(晴明),你试了没有?
jy9525 2003-05-20
  • 打赏
  • 举报
回复
up
shuchang0626 2003-05-20
  • 打赏
  • 举报
回复
up
qingming81 2003-05-20
  • 打赏
  • 举报
回复
怎么可能没有办法?你只需要定义几个connection,定义几个Recordset,使用不同的Connection和Recordset来操作不同的数据源。同时可以使用Recordset给Recordset赋值,就可以了。
gemma 2003-05-20
  • 打赏
  • 举报
回复
up
0918zheng 2003-05-20
  • 打赏
  • 举报
回复
up
XmagicX 2003-05-19
  • 打赏
  • 举报
回复
I Up
myfine 2003-05-19
  • 打赏
  • 举报
回复
up
KJ_Wang 2003-05-19
  • 打赏
  • 举报
回复
up
IwantFlay 2003-05-19
  • 打赏
  • 举报
回复
up
baicheng 2003-05-19
  • 打赏
  • 举报
回复
up
boywang 2003-05-19
  • 打赏
  • 举报
回复
up
bhhxd 2003-05-19
  • 打赏
  • 举报
回复
没办法了,本来这段代码是为了实现从一个数据库表的内容转移到另一个数据库表中的,我也知道从一个连接变为另一个连接可能存在问题,不过感谢chenyu5188(来自东方的狼)qingming81(晴明)等 ,热心解答,本人虽然做了一些关于数据库方面的程序,但是我还没有深切了解其中的机制,比如connnetcion,command,recordset等等的内部处理,VB封装了很多东西,有些东西还需要大家去探讨。期待微软的解释!
tiande 2003-05-19
  • 打赏
  • 举报
回复
UP
vataii 2003-05-19
  • 打赏
  • 举报
回复

up
qingming81 2003-05-19
  • 打赏
  • 举报
回复
下述代码可能也存在问题:本来表中没有一项记录(此时rs连接表,当然也没有任何记录)
If Dir(App.Path & "\a.xml") <> "" Then
Kill App.Path & "\a.xml"
End If
rs.Save App.Path & "\a.xml", adPersistXML
那么在Kill App.Path & "\a.xml" 之后又 rs.Save App.Path & "\a.xml", adPersistXML
a.XML应该也没有什么记录!!!楼主应该在每步之后都查看查看信息是否还在。
tanyaliji 2003-05-19
  • 打赏
  • 举报
回复
up
windwather 2003-05-19
  • 打赏
  • 举报
回复
up
qingming81 2003-05-19
  • 打赏
  • 举报
回复
因为你原来的程序使用rs先连接表,再连接XML,却指望rs自动更新表,可能存在问题吧。
qingming81 2003-05-19
  • 打赏
  • 举报
回复
对不起,上面写的还是不完成,思路是使用另外一个rs1,rs连接表,rs1连接XML.然后看rs1是否有值,有值后再赋给rs,这样应该不会出错了吧。
加载更多回复(24)

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧