数据库操作2

来源:互联网 发布:大数据金融行业运用 编辑:程序博客网 时间:2024/05/20 12:21


首先进行数据库连接,下次使用时直接获得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.csdn.net/detail/qdqht2009/7205709 

0 0
原创粉丝点击