使用.net连接domino的尝试

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

安装notes客户端。
 

 

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

 

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

  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 运行期绑定的代码,需要做类型转化。
 

posted @ 2014-02-26 20:45  zzg168  阅读(203)  评论(0编辑  收藏  举报