00001 #ifndef DB_MYSQL_CLASS_H 00002 #define DB_MYSQL_CLASS_H 00003 00004 #include <mysql/mysql.h> 00005 #include <string> 00006 #include <iostream> 00007 using namespace std; 00008 #define NEXT_ROW -1 00009 class db_mysql 00010 { 00011 private: 00012 MYSQL *m_Mysql; 00013 MYSQL_RES *m_Res; 00014 MYSQL_ROW m_Row; 00015 MYSQL_FIELD *m_field; 00016 00017 string m_strHost; 00018 string m_strUser; 00019 string m_strPasswd; 00020 string m_strDB; 00021 string m_strQuery; 00022 00023 00024 bool m_bInit; 00025 bool m_bConnect; 00026 bool m_bSelectDB; 00027 bool m_bExecute; 00028 bool m_bGetRow; 00029 bool m_result; //zhaohs 00030 //Constructors: 00031 public: 00032 db_mysql(); 00033 db_mysql(string host,string user,string passwd,string db=""); 00034 ~db_mysql(); 00035 00036 unsigned int Field_num; 00037 //functions: 00038 void Init(string host,string user,string passwd,string db=""); 00039 void SetQuery(string query); 00040 bool Connect(void); 00041 bool SelectDB(string db); 00042 00043 bool Execute(string query=""); 00044 unsigned long Num_Rows(void); 00045 00046 bool GetRow(my_ulonglong row=NEXT_ROW); 00047 string GetField(unsigned int n); 00048 string GetField_name(unsigned int n); 00049 //string GetField(string name); 00050 //string GetField_name(string name); 00051 00052 void Free_Result(void); 00053 void Close(void); 00054 00055 }; 00056 #endif