eXtremeDB新手上路之Windows平台

  • 格式:pdf
  • 大小:328.50 KB
  • 文档页数:17

具体操作如图所示:
使用eXtremeDB数据库预编译器
• 通过执行命令后,将在目录下生成两个文 件:testdb.c testdb.h • 生成名称,跟申明数据库定义名称是一致 的 • 如果想了解更多mcocomp命令,可使 mcocomp –help
新建一个vc++6 win32 console application工程(Myporject)
创建eXtremeDB数据库模式
• 用你喜欢的文本编辑器按照eXtremeDB数 据库语法模式来创建数据库定义文件 • 文本内容如下:(举例说明,保存文件名 为test.mco) • 注意:保存文件时,文件名通常以.mco后 缀。
Test.mco文件内容
• • • • • • • • #define int1 #define int2 #define int4 #define int8 #define uint8 #define uint4 #define uint2 #define uint1 signed<1> signed<2> signed<4> signed<8> unsigned<8> unsigned<4> unsigned<2> unsigned<1>
安装eXtremeDB数据库
• 本例是默认安装,可以通过路径找到。 C:\McObject\eXtremeDB_SQL_LOG\win3 2 • 在安装的目录下这下面的几个文件夹: host、include、platform和target、docs等 目录。 • 主要用到的命令是:host\bin下面的命令 • 主要用到的eXtremeDB内核库target\bin下
程序完成功能如图所示
//索引
调用eXtremeDB数据库编译器
• 需要使用的数据库预编译器是:mcocomp.exe 在host\bin下面可以找到 • 设置调用mcocomp.exe执行路径(注意空格) set Path=%Path%; C:\McObject\eXtremeDB_SQL_LOG\win32\host\ bin • 进入到保存test.mco文件的目录下 执行命令:mcocomp test.mco
eXtremeDB实时数据库 在Windows平台VC++6.0程序开发 过程
北京领先实时科技有限责任公司
准备工作:
• 下载eXtremeDB安装包(本例用的是: extremedb_3.1_win32_sql_log_eval_1B.e xe) 可以通过网址下载: /developerzone/developer-zone.asp
• 设置Myproject,选择 project/setting 中,选 中link,category:选为 General 其后面加入 mcolib_shm.lib .并把 mcolib_shm.lib拷贝到 Myporject工程中 mcolib_shm.lib文件在 target\bin下如图示:
设置Myproject工程
• 设置Myproject,选择 project/setting 中,选 中c/c++,category:选为 code Generation 在 USE run-time library 选中Debug MutilThreaded DLL 如图所示
创建数据库运行操作文件
• 新建一个源文件,后 缀可以是.c或.cpp 如:Mytest.c • 在这文件中加入代码 完成需要的功能 本例就完成一个基本数 据库的操作 增加,删除,查询,显 示数据信息等功能 代码如下:
Mytest.c源代码
• • • • • • • • • • • • • • • • • • • • #include Байду номын сангаасctype.h> /*ctype.h*/ #include <stdlib.h> /*stdlib.h*/ #include <stdio.h> /*stdio.h*/ #include <string.h> /*string.h*/ #include "testdb.h" /*用mcocomp生成的shmdb.h文件*/ //DB名称 //10M大小的数据库 const char * dbname = "demoShmDb"; const int SEGSZ = 1024 * 1024 * 10; const uint2 PAGESIZE = 90; //页面大小 const int MAP_ADDRESS = 0x20000000; void SH(void) { char text[] = { "\n嵌入式内存数据库演示\n" }; char text1[] = { "Copyright (c) 2001-2005 McObject LLC. All Right Reserved.\n" }; printf("%s\neXtremeDB runtime version %d.%d, build %d\n%s\n\nPress Enter to start", text, MCO_COMP_VER_MAJOR, MCO_COMP_VER_MINOR, MCO_COMP_BUILD_NUM,text1); getchar();//得到一个字符 }
创建一个空工程
设置Myproject工程
• 把通过mcocomp生成 的文件(testdb.c testdb.h)拷贝到工程 下,并加入Myporect 工程中(如图示)
设置Myproject工程
• testdb.c testdb.h加入 到Myproject工程中 如 图所示
设置Myproject工程
• • • • • • • •
declare database testdb; compact class MyClass { unsigned<4> id; char<20> strnname; string straddress; unique tree<id> }; pkey;
//申明一个数据库定义名称 //表名字
//内存地址
• • • • • • • • • • •
static int askNumber(const char *prompt) { char buf[100]; printf("\n%s ", prompt); fgets(buf, sizeof (buf), stdin); if(isdigit(buf[0])) return atoi(buf);//字符转化数据类型 return -1; } static char* askString(const char *prompt) { char buf[300]; static char buf1[300];