这个数据库一共用到两个头文件
#include"dbtype.h"
#include"XperditDB.h"
dbtype.h提供了一个PList双向链表可以对数据库进行精确的操作
XperditDB.h提供了table一个数据库容器来对数据库进行增删改查
下面是方法介绍:
initTable(table t)
对table变量进行初始化
createTable(PList typeName,char *TabName,table &t)
创建一个新的table,其中typeName为一个Plist,它存放了储存的数据名称,TabName为数据库在本地的名称
getTable(char *tableName,table &t)
获取一个已经存在的table,tableName为已经存在的本地数据库名称
clearTable(table &t)
释放table,但不破坏本地数据库
insert2Table(table &t,PList item)
像table中插入数据,item为插入的数据
delTableElem(table &t,int id)
删除ID=id的那一列数据
getElemInTableFromID(table t,int id)
通过id获取那一列数据
getElemIDInTableFromChar(table t,char *type,char *item)
通过类型名和内容返回该列的id 通常搭配getElemInTableFromID使用
updateDB(table t)
将t同步到本地的数据库
readTable(table t)
在命令行中显示t的所有内容
initList(PList &p)
初始化Plist
PList的基本函数就不写了 详见dbtype.h
下面附上源码:
dbtype.h
#ifndef DBTYPE_H
#define DBTYPE_H
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#define ERROR -1
typedef struct list *PList;
typedef struct Node *PNode;
typedef char *Elem;
struct list{
int ava;
PNode head;
PNode tail;
};
struct No