Chinaunix首页 | 论坛 | 博客
  • 博客访问: 42879
  • 博文数量: 27
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 145
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-19 12:09
文章分类
文章存档

2012年(27)

我的朋友

分类:

2012-10-31 11:00:28

Emfdb.c(文件数据库)

数据库按照下面结构体存放

typedef struct dbTable_s {

       char_t     *name;

       int           nColumns;

       char_t     **columnNames;

       int           *columnTypes;

       int           nRows;

       int           **rows;

} dbTable_t;

每个table对应上面结构的一个变量。

Nametable的名字

nColumnstable有多少列

columnNames是各个列的名字

columnTypes是各个列中内容的类型,是字符串,还是整数

nRowstable有多少行

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)

功能: 删除名字为tablenametable的一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字符串中的keyvalue

说明:

-----------------------------------------------------------------------------------------------------------------

 

int dbLoad(int did, char_t *filename, int flags)

功能: 将文件中的数据存到数据库中

说明:

-----------------------------------------------------------------------------------------------------------------

 

int dbGetTableId(int did, char_t *tablename)

功能: 获取tableid

说明:

-----------------------------------------------------------------------------------------------------------------

 

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()

功能: 获得数据库文件的路径

说明:

-----------------------------------------------------------------------------------------------------------------

 

阅读(379) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~