展开全部
#ifndef ___LIB_DB___
#define ___LIB_DB___
extern int DB_Open(char * dbcn, char * usr, char * pwd);
extern int DB_Exec(char * sql);
extern void * DB_Query(char *sql, const char *fmt, ...);
extern int DB_Next(void * hRecordset);
extern void DB_CleanQuery(void *hRecordset);
extern int DB_Close(void);
#endif
#ifdef WIN32
#include
#include
#include
#else
#include
#include
#define SQLHANDLE static MYSQL
#endif
#include
#include
#include
#include
SQLHANDLE hDBEnv, hDBC;
int DB_Open(char * dbcn, char * usr, char * pwd)
{
int r;
#ifdef WIN32
r = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hDBEnv);
if(r) return 0;
r = SQLSetEnvAttr(hDBEnv,SQL_ATTR_ODBC_VERSION,
(void*)SQL_OV_ODBC3,0);
if(r) return 0;
r = SQLAllocHandle(SQL_HANDLE_DBC, hDBEnv, &hDBC);
if(r) return 0;
r = SQLConnect(hDBC,
(unsigned char *)dbcn, strlen(dbcn),
(unsigned char *)usr, strlen(usr),
(unsigned char *)pwd, strlen(pwd));
return r==SQL_SUCCESS |636f70793231313335323631343130323136353331333264643738| r==SQL_SUCCESS_WITH_INFO;
#else
mysql_init(&hDBC);
MYSQL * rx = mysql_real_connect(
&