当前位置: 代码迷 >> Lotus >> 把收件箱的数据导出到sql只能到出部分文档解决方案
  详细解决方案

把收件箱的数据导出到sql只能到出部分文档解决方案

热度:103   发布时间:2016-05-05 07:06:58.0
把收件箱的数据导出到sql只能到出部分文档
把收件箱的数据导出到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了。


并且楼上的提到死循环注意一下。
  相关解决方案