12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #ifndef COMMON_DATABASE_H_
- #define COMMON_DATABASE_H_
- #include <string>
- #include "DatabaseResult.h"
- using namespace std;
- class DatabaseNew {
- public:
- DatabaseNew();
- virtual ~DatabaseNew();
- unsigned int GetError() {return mysql_errno(&mysql);}
- const char * GetErrorMsg() {return mysql_error(&mysql);}
- bool Connect();
- bool Connect(const char *host, const char *user, const char *password, const char *database);
- bool Connect(const char *host, const char *user, const char *password, const char *database, unsigned int port);
- bool Query(const char *query, ...);
- bool Select(DatabaseResult *result, const char *query, ...);
- int32 LastInsertID();
- long AffectedRows();
- //these two must free() the return char* after it's used in a query
- char * Escape(const char *str, size_t len);
- char * Escape(const char *str);
- //does not need free()
- string EscapeStr(const char *str, size_t len);
- string EscapeStr(const char *str);
- string EscapeStr(string str);
- bool QueriesFromFile(const char *file);
- void SetIgnoredErrno(unsigned int db_errno);
- void RemoveIgnoredErrno(unsigned int db_errno);
- bool IsIgnoredErrno(unsigned int db_errno);
- void PingNewDB();
- private:
- MYSQL mysql;
- Mutex MMysql;
- vector<unsigned int> ignored_errnos;
- };
- #endif
|