`
cgs1999
  • 浏览: 536349 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

[B/S]使用vb插入记录到lotus notes数据库中

 
阅读更多

解决思路:VB中传入参数,并调用Notes数据库中的代理来实现。
1 VB中运行代理
例如:要创建一份文档表单名称Student,四个域Name、Sex、Age、Memo,
域值分别zhangsan、M、26、hello,则

strUrl="http://127.0.0.1/domcfg.nsf/WriteRecord?OpenAgent"
strPara="&DB=oa/system.nsf"
strPost="&Field=Form,Name,Sex,Age,Memo&Value=Student,zhangsan,M,26,hello"
strRet=DoPost(strUrl,strPara,strPost)
Msgbox "运行结果:" & strRet

Function DoPost(strUrl As String, Optional strPara As String, Optional strPost As String) As String
Dim xmlHttp As Object
Set xmlHttp = CreateObject("Microsoft.XMLHTTP")
Call xmlHttp.Open("POST", strUrl + strPara, False)
Call xmlHttp.Send(strPost)

DoPost = xmlHttp.responseXML.documentElement.Text
End Function

2 创建文档WriteRecord代理:
Sub Initialize
On Error Goto Alert
Dim ss As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim dbTarget As NotesDatabase
Dim docTarget As NotesDocument
Dim strPara As String

Set db = ss.CurrentDatabase
Set doc = ss.DocumentContext

'数据库
strPara = GetParaValue(doc.Query_String_Decoded(0),"Db","")
If strPara = "" Then
Set dbTarget = db
Else
Set dbTarget = New NotesDatabase("",strPara)
If Not(dbTarget.IsOpen) Then
PrintXML "操作失败"
Exit Sub
End If
End If

Dim i As Integer
'表单域及域值,传入数据使用","做为分隔符
Dim varField As Variant
Dim varValue As Variant
strPara = GetParaValue(doc.Request_Content(0),"Field","")
varField = Split(strPara,",")
strPara = GetParaValue(doc.Request_Content(0),"Value","")
varValue = Split(strPara,",")
'新建文档
If varField(0)<>"" Then
Set docTarget = New NotesDocument(dbTarget)
For i=0 To Ubound(varField)
Call docTarget.ReplaceItemValue(varField(i),varValue(i))
Next
Call docTarget.Save(True,True)
PrintXML "操作成功"
Else
PrintXML "获取参数失败"
End If
Exit Sub
Alert:
Msgbox "Error:" & Error & " Erl:" & Erl & " Err:" & Err
PrintXML "操作失败"
End Sub

Function GetParaValue(Byval strQuery As String,Byval strName As String,Byval strDefault As String) As String
Dim strPara As String
Dim intPos As Integer
intPos=Instr(Lcase$(strQuery),"&" & Lcase(strName) & "=")
If intPos>0 Then
strPara=Mid$(strQuery ,intPos+2+Len(strName))
If Instr(strPara,"&")>0 Then
strPara=Strleft(strPara,"&")
End If
GetParaValue=Trim$(strPara)
Else
GetParaValue=strDefault
End If
End Function

Sub PrintXML(Byval strXML As String)
Print "content-type:text/xml; charset=gb2312"
Print "<?xml version=""1.0"" encoding=""gb2312""?>"
Print "<center>" & strXML & "</center>"
End Sub

3 说明
(1)DoPost函数中的参数格式需要同代理保持一致
(2)示例中增加传入Db参数,若参数为空则表示在当前数据库中创建文档
(3)示例处理中将文档所属表单做为参数传入,通过Field中的Form及对应的值来指定
(4)示例中只处理各数据值为文本的情况,读者可通过增加传入区别数据类型的参数以解决该问题

分享到:
评论

相关推荐

    Notes SQL 8.5.1用于odbc连接Lotus Notes数据库

    在使用Notes SQL 8.5.1时,开发者可以利用Delphi、Visual Basic(VB)等编程环境,创建应用程序来连接到Lotus Notes数据库,进而读取、查询、更新甚至修改其中的数据。这极大地方便了对Notes数据的编程访问,尤其是...

    VB操作Lotus Notes数据库.doc

    在循环中,遍历视图的列(Columns),并将列标题添加到FlexGrid中,这样用户就可以在VB界面中看到Notes数据库视图的内容。 这种操作方式避免了直接使用ODBC或ADO,因为它们主要适用于SQL语句驱动的关系型数据库,而...

    利用VB操作LotusNotes数据库发送邮件.doc

    利用VB操作LotusNotes数据库发送邮件

    数据库课程设计,一个c/s系统,一个b/s系统

    c/s用vb6.0) 前辈的东西希望对大家有用哈,另外这也是我的asp.ne的处女作,比较简单,实现了基本的对数据库的增删改查。cs的是很简单的程序,只用了不到半小时,没有任何商业价值,仅仅是见证自己学习的一个轨迹,...

    图书信息管理系统[C/S版(VB)][B/S版(JSP)][附源码]

    这是我自己设计的图书管理系统,包括用VB+MSSQL2000做的C/S版和用JSP+JAVABEAN+MSSQL2000做的B/S版,包含B/S版源码,C/S版源码,数据库中不仅有分离的数据库,而且还有可以用来建库的语句,附带有比较完整的说明稳当,全部...

    使用VB.NET对ACCESS数据库进行添加,删除,插入,修改,查询等用法

    在VB.NET中与ACCESS数据库进行交互是初学者和专业开发者常用的一种技术,因为ACCESS数据库简单易用,适合小型项目。本教程将详细讲解如何利用VB.NET进行添加、删除、插入、修改和查询等基本操作。 首先,我们需要在...

    VB编程源代码 74将数据库输出到一个文本文件中

    VB编程源代码 74将数据库输出到一个文本文件中VB编程源代码 74将数据库输出到一个文本文件中VB编程源代码 74将数据库输出到一个文本文件中VB编程源代码 74将数据库输出到一个文本文件中VB编程源代码 74将数据库输出...

    基于B/S库存管理系统

    【基于B/S库存管理系统】是一种采用浏览器/服务器(B/S,Browser/Server)架构的库存管理解决方案。在这样的系统中,用户通过Web浏览器进行操作,而数据处理和业务逻辑则集中在服务器端进行,大大简化了客户端的需求...

    vb6.0向access数据库中添加照片并显示在vb中picturebox中的代码

    4. **插入照片到数据库**:使用SQL的INSERT INTO语句,将照片数据插入到数据库中。需要注意的是,我们需要将二进制数据转换为Variant类型,因为ADODB.Parameters对象不直接接受Byte数组。例如: ```vb Dim cmd As ...

    VB把EXCEL导入到数据库的方法

    在VB(Visual Basic)开发环境中,将Excel数据导入到数据库是一项常见的任务,尤其在数据处理和分析场景下。本文将详细介绍如何使用VB实现这一过程,同时连接和操作数据库。 首先,你需要确保安装了Microsoft ...

    vb.net开发的C/S结构超市管理系统

    通过将信息放入数据库,实现调用数据库,实现vb编程与数据库的互动。使我们近一步掌握程序设计语言开发软件技术,培养我们的软件工程设计思想。 2.1.2 应用目标  connie’s store系统软件能使收银员快速的熟悉整个...

    vb读取EXCEL并插入远程数据库

    在VB(Visual Basic)编程中,读取Excel文件并将其数据插入到远程数据库是一项常见的任务,特别是在数据分析和数据迁移的应用场景下。以下是一份详细的知识点解析,涵盖了如何使用VB来实现这一目标: 1. **VB与...

    利用VB存取数据库中BLOB数据

    在VB中,我们可以使用ADO(ActiveX Data Objects)库来连接和操作数据库。ADO是微软的数据库访问接口,它允许我们通过ODBC(Open Database Connectivity)或OLE DB连接到各种数据库,如Access、SQL Server等。以下是...

    vb.net将excel中的数据导入到数据库

    本篇文章将详细介绍如何使用VB.NET实现将Excel文件中的数据导入到SQL Server数据库的过程,并对代码进行逐行解析,帮助读者更好地理解和掌握这一技术。 #### 1. 连接Excel文件 首先,我们需要建立与Excel文件的...

    在一个VB的组合框COMBO中显示数据库一列的所以有记录

    在VB(Visual Basic)开发环境中,常常需要将数据库中的数据展示到用户界面的控件上,以便用户可以浏览、选择或操作。一个常见的任务就是将数据库中的一列数据填充到组合框(ComboBox)中,这样用户就可以通过下拉...

    VB 绑定数据到DataGrid显示的数据库实例.rar

    这是一个在VB中使用 数据库绑定控件DataGrid的实例,演示了如何将从数据库中读取出的数据显示到DataGrid控件中。本例子中包括了很多ADO 操作数据库方面的基本操作,是新手学习VB环境下的ado操作的好范例,比如添加、...

    Lotus Notes使用ADO访问SQL

    - 需要注意的是,本示例中使用的 `NotesSession` 和 `NotesDatabase` 等类属于 IBM Lotus Notes API,这些类的具体使用方法可能会根据不同的版本有所不同。 - 此外,对于大型数据库操作,应考虑使用事务来保证数据的...

    VB操作ACCESS数据库实例,Access数据库同步。

    在从数据库A中获取数据后,可以遍历Recordset,然后将每一行数据插入到数据库B中。如果只同步部分列,需要在SQL查询中指定这些列。 4. **按键事件处理**: 描述中提到的“通过按键刷新”,意味着有一个用户界面...

    vb.net做的图片存储到SQL数据库

    在VB.NET中,将图片存储到SQL数据库是一个常见的任务,主要涉及到BLOB(Binary Large Object)类型的数据处理。本文将详细介绍如何使用VB.NET实现这一功能,以及涉及的关键知识点。 首先,我们需要了解SQL数据库中...

Global site tag (gtag.js) - Google Analytics