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

相关文章推荐

ASP中通过ADO访问ACCESS和SQL SERVER

最近参与到了一个ASP项目中,

visual C++使用ADO访问sql server 2000

ADO是Microsoft为最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。ADO 使您能够编写应用程序以通过 OLE. DB 提供者访问和操作数据库服务器中的...

asp.net学习总结——ADO.net(对Sql Server进行操作的数据访问类)

ADO.net(对Sql Server进行操作的数据访问类)

ADO.NET访问SQL Server数据库

ADO.NET的对象主要包括Connection、Command、DataReader、DataAdapter、DataSet,ADO.NET访问数据库主要包括两个步骤:建立数据库连接、读取或更新数据...

VC编程中利用ADO方式访问SQL Server 2012数据库(1)- 连接数据库

1、ADO对象及其智能指针 ADO是进行SQL Server数据访问的最常用的方式。ADO中与数据库相关的对象主要有三个:连接对象 Connection、记录集对象 Recordset 和命令对象 C...

用ado.net访问SQL server

  • 2014-09-22 16:41
  • 98KB
  • 下载

VC++中使用ADO访问SQL Server数据库与Access数据库的不同之处总结

最近调试一个VC++ Access数据库迁移到SQL Server平台的项目,遇到了一些问题,经过几天努力,通过论坛发帖子和资料查找,最后终于找到了问题所在,并顺利解决了问题,下面是一些总结,希望对碰...
  • zxhx
  • zxhx
  • 2011-03-04 22:47
  • 2107

C++通过ADO访问SQL数据库

  • 2013-10-06 15:48
  • 3.28MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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