大家好,这段代码为什么执行不成功!

Zuomeng 2004-10-10 05:47:06

Option Explicit
Private conn1 As ADODB.Connection
Private rs1 As ADODB.Recordset
Private conn2 As ADODB.Connection
Private rs2 As ADODB.Recordset

Private Sub Command3_Click()
Dim dbfilename As String
Dim strsql As String
Dim ConnectString As String
Dim i As Integer
Set conn1 = New ADODB.Connection
ConnectString = "Provider=sqloledb;Data Source=yl001;Initial Catalog=" & "marry" & ";User Id=sa;Password=''"
conn1.Open ConnectString

Set conn2 = New ADODB.Connection

ConnectString = "Provider=sqloledb;Data Source=yl003;Initial Catalog=" & "marry" & ";User Id=sa;Password=''"
conn2.Open ConnectString

Set rs1 = New ADODB.Recordset
Set rs2 = New ADODB.Recordset

strsql = "select * from mz"
rs1.Open strsql, conn1, 1, 3
rs2.Open strsql, conn2, 1, 3


For i = 0 To rs1.RecordCount - 1
rs2.AddNew
rs2.Fields("mc") = rs1.Fields("mc")
rs2.Fields("memo") = rs1.Fields("memo")

rs2.Update
rs1.MoveNext
Next
End Sub

拜托了,哪里出问题了???
...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
helanshan 2004-10-10
  • 打赏
  • 举报
回复
strsql = "select * from mz"
rs1.Open strsql, conn1, 1, 3
rs2.Open strsql, conn2, 1, 3
可能以上出错:连接了两个数据库,怎么用一条sql 语句?????
zhangguozhixp 2004-10-10
  • 打赏
  • 举报
回复
同意楼上的观点!
fredlin 2004-10-10
  • 打赏
  • 举报
回复
应当是rs1.recordcount 出了问题
rs1.open前加一句: rs1.CursorLocation = adUseClient

或者

do while not rs1.eof
rs2.AddNew
rs2.Fields("mc") = rs1.Fields("mc")
rs2.Fields("memo") = rs1.Fields("memo")

rs2.Update
rs1.MoveNext
loop

victorycyz 2004-10-10
  • 打赏
  • 举报
回复
运行时光标停在哪里,有什么错误信息?

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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