系统环境:MS SQL2005
在Lotus Designer中我们可以看到通过ODBC的方式操纵关系型数据库和Lotus数据,此方式需要特别配置数据源。那么更方便相对高效的办法是使用ADO的方式。我们一起来这个实例,主要使用熟知的NorthWind数据库(下载地址:SQL2000SampleDb.msi)为例:
通过操纵Region表为例,重点参考附件数据库MaintainEmployee函数:
第一步:创建数据库连接信息
Dim Conn ,Com ,RS As Variant
Dim DBConStr,SQLCmd,strEmpNo As String
'DBConStr = "driver={SQL Server};server=" + pdoc.K3Server(0) + ","+pdoc.K3Port(0) +";uid=" + pdoc.K3User(0) + ";pwd="+pdoc.K3Password(0)+";database="+ pdoc.K3Database(0)
DBConStr = "driver={SQL Server};server=127.0.0.1,1433;uid=sa;pwd=lvxiangyang;database=NorthWind"
Set Conn = CreateObject("ADODB.Connection")
Set Com = CreateObject("ADODB.Command")
Conn.Open DBConStr
Const adCmdStoredProc = 4
Const adSmallInt = 2
Const adInteger = 3
Const adVarChar = 200
Const adDouble = 5
Const adCurrency = 6
Const adDecimal=14
Const adParamInput = 1
Const adParamOutput = 2
Set Com.ActiveConnection = Conn
Com.CommandType = adCmdStoredProc
Com.CommandText = "MaintainEmployee" '存储过程名
第二步:操纵数据
这里我们主要采用存储过程的方式来操纵数据。
应用1:新增一条数据
'方法1
Com.Parameters.Append.Com.CreateParameter("@RegionID",adInteger,adParamInput,1,Cint(doc.RegionID(0)))'--Region ID
'方法2
Call Com.CreateParameter("@RegionID",adInteger,adParamInput,1)
Com.Parameters("@RegionID").value = "99"
应用2:数据维护
应用场景:通过存储过程循环执行多条数据
重点掌握利用参数对象的value 属性。
第三步:清理数据库访问对象
Conn.Close
Set Conn=Nothing
Exit Function
源代码下载:adoap.nsf
参考资料:
http://www.w3cschool.com