导入包含Domino命名空间的dll:Interop.Domino.dll。
安装notes客户端。
访问domino是由建立一个NotesSession对象开始的。所以第一个问题是NotesSession对象的初始化。NotesSession对象的Initialize(string password)方法,直观却有些让人费解,因为即使没有接触过domino的人也知道建立一个会话,需要的是用户名和密码,而这里的方法只有一个password参数。这里的道理不用深究,因为notes客户端会根据系统中的user.id文件找到用户名信息,而密码部分就是要验证的事情了。如果有做过domino开发的人,对这部分应该有更深的理解。
从domino数据文件中得到数据清单,并整理到DataTable中。
NotesSession ns = new NotesSession();
ns.Initialize("密码");
if (ns != null)
{
db = ns.GetDatabase("DOMINO服务器地址", "数据文件地址", false);
view = db.GetView("视图名");
NotesDocument doc = view.GetFirstDocument();
DataTable dt = new DataTable();
DataColumn dc = new DataColumn("列名1");
dt.Columns.Add(dc);
dc = new DataColumn("列名2");
dt.Columns.Add(dc);
while (doc != null)
{
DataRow dr = dt.NewRow();
Object[] oba = (Object[])doc.ColumnValues;
string colm1, colm2;
colm1 = oba[0].ToString();
colm2 = oba[1].ToString();
dr.BeginEdit();
dr["列名1"] = colm1 ;
dr["列名2"] = colm2 ;
dr.EndEdit();
dt.Rows.Add(dr);
doc = view.GetNextDocument(doc);
}
}
这里需要提到的是dynamic cast 运行期绑定的代码,需要做类型转化。
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow