首先进行数据库连接,下次使用时直接获得DBOperation指针即可
char * DBName;
char * IP;
char * DBUserName;
char * Passwd;
本机ip要选localhost
//对上述变量进行赋值
DBOperation* db = DBOperation::CreateCon();
db->setDbInfo(IP,DBUserName,
Passwd,DBName,3306);
int nRet = db->Connectdb();
if (nRet != DI_OK){
AfxMessageBox(_T("连接数据库失败!程序即将关闭"));
db->closedb();
DBOperation::releaseDB();
}
char querystr[288];
char *p=THCAR2char(userinfo.username);sprintf(querystr,"SELECT * FROM aut_user where username=%s",p);
MYSQL_RES *result = NULL;
unsigned int rowNum = 0;
DBOperation *db = DBOperation::CreateCon();
if (DI_OK != db->GetQueryResult(querystr,&result,&rowNum)) //result为查询结果,rowNum为结果行数
{
DI_FreeResult(result);
AfxMessageBox(_T("数据库查询失败!"));
return -1;
}
MYSQL_ROW row;
for (int i = 0; i< rowNum;i++)
{
if (DI_OK == DI_FetchRow(result,&row))//每调用一次,获得一次查询结果
{
//通过row[1]、row[2]....得到每一个属性对应的查询值
}
}
DI_FreeResult(result);//遍历完之后释放result;
char * THCAR2char(TCHAR * tchstr
{
if(tchstr == 0)
return 0;
int len = ::WideCharToMultiByte (CP_UTF8, 0, tchstr, -1, 0, 0, 0, 0);
char *str = new char[len];
::WideCharToMultiByte (CP_UTF8, 0, tchstr, -1, str, len, 0, 0);
return str;
}
需将db下所有文件引入工程中,否则将导致编译失败(找不到db_access.cpp)
相关文件下载见http://download.youkuaiyun.com/detail/qdqht2009/7205709