lotusScript 通过ADO访问sql

转载 2007年09月17日 14:09:00

作者:liyang588

原帖地址:http://blog.csdn.net/liyang588/archive/2005/08/27/466642.aspx

用ADO连接SQL是比较好的,不用象ODBC一样建DSN,速度快,稳定。这次给的是一个我实际工作中的一段代码,作用是从公司的ERP系统中抓取零件的主信息,更新到Lotus中。

Sub Initialize
 On Error Goto err_code
 starttime=Now
 Dim session As New Notessession
 Dim db As Notesdatabase
 Dim doc As notesdocument
 Dim view As NotesView
 Dim c As NotesViewEntryCollection
 
 
 Set db=session.currentdatabase
 Set view=db.GetView("All Parts Doc")
 Set c=view.AllEntries
 If c.Count<>0 Then
  T=c.Count
  Call c.RemoveAll(False)
  Print "Update SC01- ADO:Old records "+Cstr(T)+" removed"
 End If
 
 Dim pdoc As NotesDocument
 Set pdoc=db.GetProfileDocument("Profile")
 Set doc=New notesdocument(db)
 doc.form = "Supplier"
 Print "Update SC01- ADO:Initialize completed"
 
 Dim conn As Variant
 Set conn = CreateObject("ADODB.Connection")
 ConnAdmin = "driver={SQL Server};server=ServerIP;database=DBName;uid=xxx;pwd=xxx"
 conn.open ConnAdmin
 Set rstt=createobject("adodb.recordset")
 SQL="SELECT SC01001,SC01002,SC01010,SC01042,SC01043,SC01044,SC01045,SC01053,SC01056,SC01058,SC01059,SC01066,SC01087,SC01097,SC01099 from SC010100 where SC01066=6 or SC01066=7"
 rstt.open SQL,conn,1,3
 Print "Update SC01- ADO:Database connected"
 r=0
 Do While Not rstt.eof
  For i=0 To 14
   field=rstt.Fields(i).name
   value=rstt.Fields(i).value
   Set item = doc.AppendItemValue(field,value)
  Next
  rstt.MoveNext
  Call doc.save(True,True)
  Set db = session.CurrentDataBase
  Set doc = New NotesDocument(db)
  doc.form = "Supplier"
  R=R+1
 Loop
 rstt.close
 Print "Update SC01- ADO:Update completed"
 endtime=Now
 Set mail = New NotesDocument(db)
 mail.form="Memo"
 mail.principal="WUX Price Adjust 2"
 mail.Subject="ADO:Success Import "+Cstr(R)+" Records from SC01[start at "+Cstr(starttime)+"], Old records "+Cstr(T)+" Deleted. [end at"+Cstr(endtime)+"]"
 Call mail.send(True,pdoc.SystemMessage)
 
 Exit Sub
err_code:
 Dim erm As New NotesDocument(db)
 erm.form="Memo"
 erm.subject=db.title+": Error in 'Update SC01 from scala ADO' agent . "+Str(Err)+" At "+Str(Erl)+". "+Error$
 txt="Server: "+db.server+Chr(10)+"File: "+db.FilePath
 If er<>"" Then
  txt=txt+"sending to"+er
 End If
 erm.body=txt
 Call erm.send(False,"yang li")
End Sub

35. 面向对象的LotusScript(七)之导入Excel

Microsoft Office是应用最广泛的办公软件,绝大多数公司的必备软件。其中的Excel操作直观方便,很多公司都有大量数据以Excel文件的格式保存。一个LotusNotes应用在很多情况下都...
  • starrow
  • starrow
  • 2013年07月04日 22:43
  • 4216

41. 面向对象的LotusScript(十三)之继承与事件

在36. 面向对象的LotusScript(八)之继承里,我们提到LotusScript中继承的应用可以分为两类。第一类符合面向对象思想中继承的原意,已经在导出Excel的系列文章里例示了。第二类特殊...
  • starrow
  • starrow
  • 2013年07月16日 17:37
  • 3070

33. 面向对象的LotusScript(六)之为自定义对象模拟事件

(这是一篇我几年前发表在IBM developerWorks上的文章,在此转帖,构成面向对象的LotusScript的系列文章之一篇,并为后续的讨论做准备。) 前言 事件是面向对象语言普遍支持和使用的...
  • starrow
  • starrow
  • 2013年07月02日 11:39
  • 7579

37. 面向对象的LotusScript(九)之导出Excel(一)

上一篇文章说到在LotusScript编写类时采用继承有两类情况,接下来的几篇文章介绍的就是其中的一种:为了重用代码。将Notes数据导出到Excel就是展现这类继承的一个很好场合。 微软的Excel...
  • starrow
  • starrow
  • 2013年07月07日 16:47
  • 3917

86. LotusScript中的数组函数

R6对LotusScript有一些改进和增强,自那之后,Notes对象的接口时有补充和更新,但语言本身没有变化。那些改进就包括增加诸如ArrayGetIndex、ArrayUnique的有用函数。但在...
  • starrow
  • starrow
  • 2014年12月16日 11:03
  • 4845

Ajax获取代理返回的Json数据

【背景】 Ajax在开发过程中使用的很多,局部刷新、动态加载等功能,非常受到用户的青睐,它可以接收代码返回的xml、html、Json等格式,本人主要讲述返回Json格式。 下面的代码是判断用户输...
  • Gavid0124
  • Gavid0124
  • 2014年09月29日 11:20
  • 1376

40. 面向对象的LotusScript(十二)之SheetWriter

本文要介绍在写入Excel工作表中单元格值的时候用到的工具类:SheetWriter。获得一个Excel工作表的对象句柄后,写其中的某个单元格本来是很平凡的事。 sheet.Cells(2, 3).V...
  • starrow
  • starrow
  • 2013年07月13日 17:02
  • 2601

Python学习笔记——ADO访问数据库

因为工作中用到ADO访问数据库,在这做一个记录,文中实例是Python通过ADO访问SQL Server 2005数据库。 ADO (ActiveX Data Objects,ActiveX数据对象)...
  • xxyy142857
  • xxyy142857
  • 2015年07月15日 14:09
  • 1222

46. Lotus Notes中编程发送邮件(一)

邮件是Lotus Notes体系的核心和基本功能,以至于Send()是NotesDocument的一个方法,任何一个文档都可以被发送出去,Notes里的一封邮件也只是一个有一些特殊字段的文档。在程序开...
  • starrow
  • starrow
  • 2013年08月14日 17:24
  • 9135

LotusScript生成随机密码(数字、字母、特殊字符组合)

【背景】 近期OA系统要进行安全检查,由于未做密码策略,很多用户仍然使用的是初始化密码,需要在后台批量修改为强密码(数字、小写字母、大写字母、特殊字符的组合),在网上参考了其他平台强...
  • Gavid0124
  • Gavid0124
  • 2014年09月28日 09:06
  • 1752
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:lotusScript 通过ADO访问sql
举报原因:
原因补充:

(最多只允许输入30个字)