小结一下使用mfc远程连接linux上的mysql数据库的方法,使用mysql自带的api连接方法
之前使用vc进行数据库操作,大多使用的是ado对象连接sqlserver数据库,但是需要在其他电脑上运行时,时常需要配置远程连接,较为繁琐。
本次想换种方法,直接把数据库安装在了阿里云的服务器上(centos),sqlserver有点庞大,所以选择了轻便的mysql数据库,这样一来就不用
考虑程序迁移更改数据库配置的问题了。下面直接介绍方法:
1.开发环境
开发环境:vs2013 数据库: mysql5.5
2.工程导入mysql头文件和库文件
右击工程->属性->VC++目录 包含目录添加本地mysql下的include目录,库目录添加本地mysql下的lib目录
工程->属性->链接器 附加库目录添加本地mysql下的lib目录
3. 测试连接
首先包含头文件mysql.h, 有些文章说要winsock.h,但是我试了下,不包含没有影响连接。
然后引入libmysql.lib库文件 #pramga comment(lib, "libmysql.lib"),此处可在链接器的输入里添加,二选一即可。具体代码如下:
<textarea name="code" class="c++">
MYSQL m_sqlCon;
mysql_init(&m_sqlCon);
// root/123为账号密码 HRM为数据库名 3306为端口
if (!mysql_real_connect(&m_sqlCon, "服务器ip", "root", "123", "HRM", 3306, NULL, 0))
{
AfxMessageBox(_T("访问数据库失败!"));
CString e = mysql_error(&m_sqlCon);//需要将项目属性中字符集修改为“使用多字节字符集”或“未设置”
MessageBox(e);
return;
}
else
{
AfxMessageBox(_T("成功!"));
mysql_query(&m_sqlCon, "SET NAMES 'GB2312'");//解决从数据库中读取数据后汉字乱码显示的问题
}
</textarea>
如此便完成了mfc远程连接linux服务器的mysql数据库