IM项目-数据库的封装
扫描二维码
随时随地手机看文章
因为在项目中可能出现垮系统的数据库操作~所以数据库的连接必须使用api,
为方便起见,我把项目中经常用到的功能简单的封装两个类,这样的形式源于odbc的模型
CDB 用来创建管理连接,并生成查询结果;
CRS保存结果集,并提供查询共能
主要功能函数如下
CDB(char* uid, char* pwd, char* db, char* host="127.0.0.1", int port=3306);
CRS Execute(char* strsql);
int ExecuteNon(char* strsql);
CRS();
int GetCount(void);
//获取操作数据操作
int GetInt(int index);
int GetInt(char* strFieldName);
int GetInt(string strFieldName);
string GetString(int index);
string GetString(char* strFieldName);
string GetString(string strFieldName);
//结果集指针操作
void MoveNext(void);
void MoveTo(int rownumber);
void MoveFirst(void);
void MoveLast(void);
bool IsEOF(void);
bool IsBOF(void);
void Close(void);
为了保证通用性,数据的保存使用vector,原本想要使用map来保存的,但是因为使用map时,数据的键依然还是一个int型的索引,并不会带来性能或者是操作性的优化,所以最终还是放弃了。
这一版本,个人认为功能很弱,操作性也不是很好,但是由于项目要求的比较急,也就将就一下吧~~以后再充实。
在涉及字符串的操作时~我认为将char*转换成 string不失为一个不错的选择,string提供了良好的操作性,在需要转换成char*直接调用功能函数c_str()即可。很大程度的降低了代码的复杂度