zoukankan      html  css  js  c++  java
  • 使用.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 运行期绑定的代码,需要做类型转化。
     

  • 相关阅读:
    MySQL 数据库中 ceil()、floor()、round()、trunc() 函数用法
    BUG 的几种状态
    MySQL 数据库基本知识点
    测试用例设计方法之等价类和边界值
    时间同步(NTP/PTP)技术原理介绍
    智慧校园网络架设GPS北斗时钟同步系统
    制药行业SCADA系统架设NTP时钟服务器(网络时间服务器)
    关于M1 Mac如何设置打开终端的快捷键
    关于M1Mac每次都要执行source ~/.bash_profile后,配置的环境变量才生效
    关于Mac M1版安装中国蚁剑
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3570159.html
Copyright © 2011-2022 走看看