https://dev.mysql.com/doc/refman/5.7/en/mysql-library-init.html
MYSQL local_mysql;
int retValue = -1;
if (mysql_library_init(0,NULL,NULL) != 0)
{
MessageBox(_T("mysql_library_init error !"));
return;
}
//初始化数据库
if (mysql_init(&local_mysql) == NULL)
{
MessageBox(_T("mysql_init error !"));
return;
}
//设置数据编码格式
retValue = mysql_options(&local_mysql, MYSQL_SET_CHARSET_NAME, "gbk");
if (0 != retValue)
{
MessageBox(_T("mysql_options error !"));
return;
}
//连接数据库
if (NULL == mysql_real_connect(&local_mysql,"127.0.0.1","root","jfznkj123","test",3306,NULL,0))
{
MessageBox(_T("Mysql connect failed !"));
return;
}
MYSQL_ROW m_row;
MYSQL_RES *m_res;
retValue = -1;
char sql[2048];
sprintf_s(sql, "select * from test.counter_info where place_name='%s' and time between '%d-%02d-%02d %02d:%02d:%02d' and '%d-%02d-%02d %02d:%02d:%02d' order by time asc",
"东门", 2019, 5, 30, 0, 0, 0, 2019, 5, 31, 0, 0, 0);
//数据库查询
retValue = mysql_query(&local_mysql, sql);
if (retValue != 0)
{
MessageBox(_T("mysql_query error !"));
return;
}
//取出查询结果
m_res = mysql_store_result(&local_mysql);
if (m_res == NULL)
{
MessageBox(_T("m_res == NULL"));
return;
}
char visualRes[255];
std::fstream mfile;
mfile.open("./data.txt");
mfile << "地点\t-\t性别\t-\t年龄" << endl;
while (m_row = mysql_fetch_row(m_res))
{
memset(visualRes, 0, 255);
sprintf_s(visualRes, "%s\t-\t%s\t-\t%s", m_row[SELECT_PALCENAME], m_row[SELECT_SEX], m_row[SELECT_AGE]);
mfile << visualRes << endl;
}
mfile.close();
//释放数据库数据
mysql_free_result(m_res);
//关闭数据库,释放资源
mysql_close(&local_mysql);
mysql_library_end();
需要注意的是: