把收件箱的数据导出到sql只能到出部分文档
把收件箱的数据导出到sql只能到出部分文档?我的系统是(C/s,5.0.0.9,sql 安装在我自己的计算机上,oa服务器在工厂大型服务器上。我计算机系统是xp。sql 2000,我是作测试用的‘,第一次进行SQL交互尝试)
Dim session As new NotesSession
Dim db As NotesDataBase
Dim doc As NotesDocument
dim docs as notesdocumentcollection
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
set db =session.currentdatabase
set docs =db.unprocesseddocument
set doc =docs.getfirstdocument
Set qry.connection = con
qry.SQL = "SELECT * FROM Table1 "
Set result.Query = qry
call con.connectto( "hwj ", "sa ", "password ")
Call result.Execute()
call result.lastrow
x=1
while not (doc is nothing)
call result.addrow
messagebox cstr(result.currentrow)
call result.setvalue( "xh ",x)
call result.setvalue( "xm ",doc.form)
call result.setvalue( "subject ",doc.subject)
call result.UpdateRow
loop
call result.close(db_close)
call con.disconnect
存在问题:
29封邮件只能导出一部份。
在sql库表中导出数据为:
xh xm subject
1 甲 4545454
7 王 tggg45
11 li 3545454
13 fj ererere
16 rj 9er
18 343 fdfd
21 erer 56565
导出一次后,在选中那些已经到出的文档,在点到出,程序一点都没有报错!但是从sql管理器中打
开表时,数据一点都没有增加,还是第一次到出的内容。
如果我把sql库表中的内容删除后,导出时,选中那些文档,到出内容和原来一样!
在
while not (doc is nothing)
loop
循环语句中添加了messagebox cstr(result.currentrow)检测
发现每次显示的都是-3.
应该是每次增加一行记录后,result.currentrow都应该增加可是为何 我作的程序每次都是-3
------解决方案--------------------
你代码有问题吧
while not (doc is nothing)
call result.addrow
messagebox cstr(result.currentrow)
call result.setvalue( "xh ",x)
call result.setvalue( "xm ",doc.form)
call result.setvalue( "subject ",doc.subject)
call result.UpdateRow
loop
这样的话一直是死循环了。
------解决方案--------------------
qry.SQL = "SELECT * FROM Table1 "
把这一句改一下
qry.SQL = "SELECT * FROM Table1 where 1=2 " 只返回一个表结构就OK了。
并且楼上的提到死循环注意一下。