|
发表于 2004-2-26 08:19:00
|
显示全部楼层
Re:???是否有VC存取My-sql的?例程式可以?⒖?
#include "Mysql.h"
#include "..\servercfg.h"
//==========CMysqlDatabase
bool CMysqlDatabase::Connect(const char *db)
{
g_Log.debug(__FUNCTION__,"begin connecting...");
return (mysql_real_connect(&m_sqlhandle,g_ServerCfg.Get_DbHost(),g_ServerCfg.Get_DbUser(),g_ServerCfg.Get_DbPass(),db,g_ServerCfg.Get_DbPort(),NULL,0)!=NULL);
}
int CMysqlDatabase::Select_Database(const char *dbname)
{
if(0==mysql_select_db(&m_sqlhandle,dbname))
return true;
return false;
}
int CMysqlDatabase::Create_Database(const char *dbname)
{
char buf[255];
sprintf(buf,"create database %s",dbname);
return Query(buf);
}
int CMysqlDatabase: rop_Database(const char *dbname)
{
char buf[255];
sprintf(buf,"drop database %s",dbname);
return Query(buf);
}
//==================================CMysqlResult==========
bool CMysqlResult::Retrieve_Res(CMysqlDatabase &sqldb)
{
m_res=mysql_store_result(sqldb._GetMysqlHandle());
if(NULL==m_res)
return false;
//my_ulonglong其实就是unsigned long
m_Row_Nums=mysql_num_rows(m_res);
m_Field_Nums=mysql_num_fields(m_res);
return true;
}
//========================CMysqlFields========
bool CMysqlFields::Retrieve_Fields(CMysqlResult &sqlres)
{
m_fields=mysql_fetch_fields(sqlres._GetMysqlRes());
return (m_fields!=NULL);
}
//========================CMysqlField
bool CMysqlField::Retrieve_Field(CMysqlFields &sqlfields,unsigned int fieldnum)
{
m_field=&sqlfields.m_fields[fieldnum];
return (m_field!=NULL);
}
//==================CMysqlRow
bool CMysqlRow::Retrieve_Rows(CMysqlResult &sqlres)
{
m_rows=mysql_fetch_row(sqlres._GetMysqlRes());
m_lengths=mysql_fetch_lengths(sqlres._GetMysqlRes());
return (m_rows!=NULL);
} |
|