4,011
社区成员
发帖
与我相关
我的任务
分享
//初始化数据
int VspdCToMySQL::ConnMySQL(char *host,char * port ,char * Db,char * user,char* passwd,char * charset,char * Msg)
{
if( mysql_init(&mysql) == NULL )
{
Msg = "inital mysql handle error";
return 1;
}
if (mysql_real_connect(&mysql,host,user,passwd,Db,0,NULL,0) == NULL)
{
Msg = "Failed to connect to database: Error";
return 1;
}
if(mysql_set_character_set(&mysql,"GBK") != 0)
{
Msg = "mysql_set_character_set Error";
return 1;
}
return 0;
}
//查询数据
CString VspdCToMySQL::SelectData(char * SQL,int Cnum,char * Msg)
{
MYSQL_ROW m_row;
MYSQL_RES *m_res;
char sql[2048];
sprintf(sql,SQL);
int rnum = 0;
char rg = 0x06;//行隔开
char cg = {0x05};//字段隔开
if(mysql_query(&mysql,sql) != 0)
{
Msg = "select ps_info Error";
return "";
}
m_res = mysql_store_result(&mysql);
if(m_res==NULL)
{
Msg = "select username Error";
return "";
}
CString str("");
while(m_row = mysql_fetch_row(m_res))
{
for(int i = 0;i < Cnum;i++)
{
str += m_row[i];
str += rg;
}
str += cg;
rnum++;
}
mysql_free_result(m_res);
return str;
}
//插入数据
int VspdCToMySQL::InsertData(char * SQL,char * Msg)
{
char sql[2048];
sprintf_s(sql,SQL);
if(mysql_query(&mysql,sql) != 0)
{
Msg = "Insert Data Error";
return 1;
}
return 0;
}
//调用部分
//初始化
vspdctomysql = new VspdCToMySQL;
if(vspdctomysql->ConnMySQL(host, db_port, dbname, user, passwd, charset, Msg) == 0)
showInfo3List("数据库连接成功");
else
showInfo3List("数据库连接失败");
// 数据库插入
bool CGY_YTG_TOOLView::insertData(char *s_sql)
{
char* Msg = "";//消息变量
if(vspdctomysql->InsertData(s_sql, Msg) == 0)
{
//CString str;
//str.Format("%s", s_sql);
//AfxMessageBox(str);
ShowDataBaseMessage("插入数据成功");
return true;
}else
{
//CString str;
//str.Format("%s", s_sql);
//AfxMessageBox(str);
ShowDataBaseMessage("插入数据失败");
return false;
}
}
// 数据库查询
CString CGY_YTG_TOOLView::selData(char *s_sql)
{
char* Msg = "";//消息变量
CString sData;
sData = vspdctomysql->SelectData(s_sql, 20, Msg);
return sData;
}