使用.net连接domino的尝试

导入包含Domino命名空间的dll:Interop.Domino.dll

安装notes客户端。

 

访问domino是由建立一个NotesSession对象开始的。所以第一个问题是NotesSession对象的初始化。NotesSession对象的Initialize(string password)方法,直观却有些让人费解,因为即使没有接触过domino的人也知道建立一个会话,需要的是用户名和密码,而这里的方法只有一个password参数。这里的道理不用深究,因为notes客户端会根据系统中的user.id文件找到用户名信息,而密码部分就是要验证的事情了。如果有做过domino开发的人,对这部分应该有更深的理解。

 

从domino数据文件中得到数据清单,并整理到DataTable中。

 

ExpandedBlockStart.gif 代码
 1  NotesSession ns  =   new  NotesSession();
 2  ns.Initialize( " 密码 " );
 3  if  (ns  !=   null )
 4  {                
 5       db  =  ns.GetDatabase( " DOMINO服务器地址 " " 数据文件地址 " false );
 6       view  =  db.GetView( " 视图名 " );
 7       NotesDocument doc  =  view.GetFirstDocument();
 8       DataTable dt  =   new  DataTable();
 9       DataColumn dc  =   new  DataColumn( " 列名1 " );
10       dt.Columns.Add(dc);
11       dc  =   new  DataColumn( " 列名2 " );
12       dt.Columns.Add(dc);
13        while  (doc  !=   null )
14       {
15                  DataRow dr  =  dt.NewRow();
16                  Object[] oba  =  (Object[])doc.ColumnValues;
17                   string  colm1, colm2;
18                  colm1  =  oba[ 0 ].ToString();
19                  colm2  =  oba[ 1 ].ToString();
20                  dr.BeginEdit();
21                  dr[ " 列名1 " =  colm1 ;
22                  dr[ " 列名2 " =  colm2 ;                
23                  dr.EndEdit();
24                  dt.Rows.Add(dr);
25                  doc  =  view.GetNextDocument(doc);
26        }
27  }


 这里需要提到的是dynamic cast 运行期绑定的代码,需要做类型转化。

 

转载于:https://www.cnblogs.com/rain64531264/archive/2010/03/29/1699409.html

你可能感兴趣的:(使用.net连接domino的尝试)