用C#开发的对象数据库应用范例

来源:互联网 发布:mac炉石传说助手 编辑:程序博客网 时间:2024/06/05 18:28

基于自己开发的对象数据库的API,制作了简单的查询分析器软件。本文描述了API的用法,绝对会使程序员感到亲切。

以下代码分别演示了对PointTable的增删改查操作。

  1. static void Main(string[] args)
  2. {
  3.     OdbVisitor odb = new OdbVisitor();
  4.     // open the database
  5.     if (odb.Open(@"D:/Drawing.odb") == false)
  6.     {
  7.         Console.WriteLine("Can not open the file or it is not odb file");
  8.         return;
  9.     }
  10.     // visit PointTable
  11.     OdbTableVisitor tv = odb.VisitTable("PointTable");
  12.     // Point's object value
  13.     OdbValue value = new OdbValue(odb, "Point");
  14.     // insert 8 points into PointTable
  15.     for (int n = 0; n < 8; n++)
  16.     {
  17.         value[0] = (n + 1) * 1;
  18.         value[1] = (n + 1) * 2;
  19.         tv.InsertObject(value);
  20.     }
  21.     // query all objects
  22.     OdbObject[] objects = tv.QueryAll();
  23.     // display all objects in a table
  24.     foreach (OdbObject element in objects)
  25.     {
  26.         value = tv.GetObjectValue(element);
  27.         Console.WriteLine("({0},{1})", value[0], value[1]);
  28.         // or use field name to get its value
  29.         // Console.WriteLine("({0},{1})", value["x"], value["y"]);
  30.     }
  31.     // update object in a table
  32.     {
  33.         value[0] = 10; // set new value
  34.         value[1] = 20; // set new value
  35.         tv.UpdateObject(objects[0], value);
  36.     }
  37.     // delete all objects in a table
  38.     foreach (OdbObject element in objects)
  39.     {
  40.         tv.DeleteObject(element);
  41.     }
  42.     // that's all. everything is simple
  43.     odb.Close();
  44. }

是的,如你所见,对象数据库最强大的功能是对复杂数据类型的处理,包括数组和自定义类型(结构体、派生、组合)。在对象数据库中,复杂的字段其值需要使用树形结构才能够查看清楚。如下图所示:

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 联程车票晚点怎么办 联程火车票晚点怎么办 虎皮剑兰发很多怎么办 一直换号码骚扰怎么办 冰箱不停的运作怎么办 被虚拟电话骚扰怎么办 一直有电话骚扰怎么办 老打电话骚扰我怎么办 总有电话骚扰怎么办 狗一直抽搐不停怎么办 右眼皮一直抽搐怎么办 打包机不停的倒带不切带怎么办 频繁被电话骚扰怎么办 一直被骚扰电话怎么办 有电话短信骚扰怎么办 收到大量验证码怎么办? 每天有陌生电话怎么办 电话不停被骚扰怎么办 水龙头的乱溅怎么办 水龙头坏了喷水怎么办 水龙头水流很散怎么办 自来水往外喷水怎么办 手机有骚扰电话怎么办 半夜到南宁机场怎么办 得了水痘坐火车怎么办 香港账户被限制怎么办 司法拍卖车扣分怎么办 速递易已超期怎么办 e栈快递换微信怎么办 e栈快递柜打不开怎么办 小孩耳朵塞东西怎么办 把隐形眼镜吃了怎么办 街道分车位不公平怎么办 服务区修车被宰怎么办 2018高速逃费怎么办 高速不停车卡怎么办 独立显卡显存不够怎么办 rx470d买不到了怎么办? 南方避险基金到期怎么办 高铁票认证失败怎么办 高铁票三个小孩怎么办