首页 > 代码库 > .net读取Lotus Domino文件数据库
.net读取Lotus Domino文件数据库
Domino有组件支持.net,虽然感觉支持的不太好,但是能用,安装组件的方法很简单,在NuGet中联机搜索Domino,然后根据需要安装即可。
开发时,要在开发机上安装Notes客户端,网上很多,这里不赘述,直接上简易读取代码:
1 NotesSession ns = new NotesSession(); 2 //ns.Initialize("test1234"); 3 ns.Initialize(); 4 if (ns == null) 5 { 6 MessageBox.Show("未能初始化"); 7 return; 8 } 9 //http://10.31.100.5010 NotesDatabase db = ns.GetDatabase("", @"names.nsf", false);11 if (db == null)12 {13 MessageBox.Show("未能初始化数据库");14 return;15 }16 17 StringBuilder sb = new StringBuilder();18 19 NotesView view = db.GetView("$users");20 object[] cols = view.ColumnNames;21 Dictionary<int, object> dic = new Dictionary<int, object>();22 if (cols != null)23 {24 int ix = 0;25 foreach (object obj in cols)26 {27 dic.Add(ix, obj);28 if (obj != null) sb.Append(string.Format("{0}\r\n", obj));29 ix++;30 }31 }32 NotesViewEntry ve = view.GetEntryByKey("12345");33 if (ve != null)34 {35 int ix = 0;36 object[] objs = ve.ColumnValues;37 foreach (object obj in objs)38 {39 KeyValuePair<int, object> kv = dic.FirstOrDefault(m => m.Key == ix);40 Type tp = obj.GetType();41 if (tp.Name.Contains("Object[]"))42 {43 int ik = 0;44 object[] nobjs = (object[])obj;45 foreach (object nobj in nobjs)46 {47 sb.Append(string.Format("{0}[{1}]值为:{2}\r\n", kv.Value, ik, nobj));48 ik++;49 }50 }51 else52 {53 sb.Append(string.Format("{0}值为:{1}\r\n", kv.Value, obj));54 }55 ix++;56 }57 58 }
.net读取Lotus Domino文件数据库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。