2012年(27)
分类:
2012-10-31 11:00:28
数据库按照下面结构体存放
typedef struct dbTable_s {
char_t *name;
int nColumns;
char_t **columnNames;
int *columnTypes;
int nRows;
int **rows;
} dbTable_t;
每个table对应上面结构的一个变量。
Name是table的名字
nColumns是table有多少列
columnNames是各个列的名字
columnTypes是各个列中内容的类型,是字符串,还是整数
nRows是table有多少行
rows是:rows[n]指向各个行的指针,rows[n][m]是该行某个列整数的值或字符串的指针。
-----------------------------------------------------------------------------------------------------------------
int dbRegisterDBSchema(dbTable_t *pTableRegister)
功能:创建一个table框架
说明:
-----------------------------------------------------------------------------------------------------------------
int dbOpen(char_t *tablename, char_t *filename, int (*gettime)(int did), int flags)
功能: 一些初始化
说明:
-----------------------------------------------------------------------------------------------------------------
void dbClose(int did)
功能: 释放tables所在的内存
说明:
-----------------------------------------------------------------------------------------------------------------
void dbZero(int did)
功能: 清空tables中的所有数据,释放内存。
说明:
-----------------------------------------------------------------------------------------------------------------
int dbSearchStr(int did, char_t *tablename, char_t *colName, char_t *value, int flags)
功能:根据表单名字、列名、列值,找到对应的row
说明:
-----------------------------------------------------------------------------------------------------------------
int dbAddRow(int did, char_t *tablename)
功能:向名字为tablename中添加一row
说明:
-----------------------------------------------------------------------------------------------------------------
int dbDeleteRow(int did, char_t *tablename, int row)
功能: 删除名字为tablename的table的一row
说明:
-----------------------------------------------------------------------------------------------------------------
int dbSetTableNrow(int did, char_t *tablename, int nNewRows)
功能: 添加row,使其行数为nNewRows
说明:
-----------------------------------------------------------------------------------------------------------------
int dbGetTableNrow(int did, char_t *tablename)
功能: 获得这个table的行数
说明:
-----------------------------------------------------------------------------------------------------------------
int dbReadInt(int did, char_t *table, char_t *column, int row, int *returnValue)
功能:读取指定行、列的值,读取的值是整数值
说明:
-----------------------------------------------------------------------------------------------------------------
int dbReadStr(int did, char_t *table, char_t *column, int row, char_t **returnValue)
功能: 读取指定行、列的值,读取的值是字符串
说明:
-----------------------------------------------------------------------------------------------------------------
int dbWriteInt(int did, char_t *table, char_t *column, int row, int iData)
功能: 向指定行、列写整数
说明:
-----------------------------------------------------------------------------------------------------------------
int dbWriteStr(int did, char_t *table, char_t *column, int row, char_t *s)
功能: 向指定行列写字符串
说明:
-----------------------------------------------------------------------------------------------------------------
static int dbWriteKeyValue(int fd, char_t *key, char_t *value)
功能: 向文件中些key=value
说明:
-----------------------------------------------------------------------------------------------------------------
int dbSave(int did, char_t *filename, int flags)
功能:将数据库(动态分配的内存)中值存放到文件中
说明:
-----------------------------------------------------------------------------------------------------------------
static int crack(char_t *buf, char_t **key, char_t **val)
功能: 获得key=value字符串中的key和value
说明:
-----------------------------------------------------------------------------------------------------------------
int dbLoad(int did, char_t *filename, int flags)
功能: 将文件中的数据存到数据库中
说明:
-----------------------------------------------------------------------------------------------------------------
int dbGetTableId(int did, char_t *tablename)
功能: 获取table的id
说明:
-----------------------------------------------------------------------------------------------------------------
char_t *dbGetTableName(int did, int tid)
功能: 获取table的名字
说明:
-----------------------------------------------------------------------------------------------------------------
static char_t *trim(char_t *str)
功能: 去掉字符串中的空格
说明:
-----------------------------------------------------------------------------------------------------------------
static int GetColumnIndex(int tid, char_t *colName)
功能: 获得指定名字的列的索引
说明:
-----------------------------------------------------------------------------------------------------------------
void basicSetProductDir(char_t *proddir)
功能: 设置数据库文件的路径
说明:
-----------------------------------------------------------------------------------------------------------------
char_t *basicGetProductDir()
功能: 获得数据库文件的路径
说明:
-----------------------------------------------------------------------------------------------------------------