0

Mysql数据库接口类JWMysql V1.0

发表者:wenzhou1219分类:杂货铺2014-01-09 17:15:02 阅读[958]

同样,先上一张测试界面


这个类只是将使用Mysql的方式封装的更加简单,但是没有简化任何SQL操作,均须使用原生SQL语句。

你可以使用SQL完成常见的"增删查改"操作或更加复杂的操作。

类的定义如下

class JWMysql  
{
public:
	JWMysql(const char *host="localhost",
		    const char *user="root",
			const char *passwd="",
			const unsigned int port=3306, 
			const char *db=NULL,
			const char *unix_socket=NULL,
			const unsigned long client_flag=0);
	virtual ~JWMysql();
	BOOL Connnet(const char *host="localhost",
				 const char *user="root",
				 const char *passwd="",
				 const unsigned int port=3306, 
				 const char *db=NULL,
				 const char *unix_socket=NULL,
				 const unsigned long client_flag=0);
	void Disconnect();
	BOOL IsConnect();
	BOOL Query(const char *szQuery); 
	MYSQL_ROW FetchRow();
	MYSQL_FIELD *FetchField();
	MYSQL_FIELD *FetchFieldAt(const unsigned int nFieldIndex);
	MYSQL_FIELD *FetchFields();
	BOOL SelectDb(const char *szDb); 
	BOOL SetCharacterSet(const char *szName);
	char *Escape(const char *szFrom);
	const char *GetErrorInfo();
	unsigned int GetErrorCode() ;
	unsigned long GetFiledNum();
	__int64 GetRowNum();

	static JWMysql* GetInstance();

private:
	BOOL bIsConnect;
	MYSQL m_mysql_link;
	MYSQL_RES *m_mysql_pRes;
	char m_szBuffer[256];
	unsigned long m_num_fields;
	my_ulonglong m_num_rows;
};


注意:

1.必须将下载Mysql的编程接口文件,并设置好对应的lib、include路径将dll加入系统path或放入windows文件夹中

2.由于数据库连接的特殊性,最好使用单例模式接口,否则要注意处理多个连接的并发情况

3.还需要注意的是libmysql的函数使用的是ASCLL字符串

4.其他相应的使用注意事项在测试界面右方已经注明。


笔者测试使用的Mysql版本为5.5,其他版本应该也工作正常


测试文件(包含JWMysql类文件JWMysql.h和JWMysql.cpp)下载链接
Mysql的编程接口文件下载链接,如果工作不正常你可以到Mysql官网上下载最新的版本

顺便附上Mysql5.1的中文手册下载链接,官方中文手册只有这个版本,其他版本均为英文,不过对于一般的Mysql应用参考此手册足矣!


名字:

个人主页地址:

E-mail:

评论列表