这几天在研究MFC连接数据库,搞了2天,终于在高人的指导下,完成了自己的MFC版的MYSQL hello world !谢谢
在此大概梳理下头绪!
一.建立MFC aplication 工程 选择dilgao 对话框模式
然后草考:http://jingyan.baidu.com/article/e75057f28c8ca0ebc91a8913.html (如下)进行了MFC与数据库的连接
http://www.360doc.com/content/13/0910/15/12891049_313510441.shtml
- 二.在stdafx.h最末尾加 #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","rsEOF")
- 在Dlg.cpp中定义一个全局变量:MYSQL m_mysql; //定义一个全局变量(写在程序的最上端)
三,连接数据库测试
然后在资源对话框中选择一个button ,双击button 在函数里面写:
void CSwwDlg::OnButton1()
{
// TODO: Add your control notification handler code here
// MYSQL mysql; //数据库连接句柄
// mysql_init (&mysql);
// if(!mysql_real_connect(&mysql,"localhost","root","dxd","mydb",3306,NULL,0))
/// {//mydb为你所创建的数据库,3306为端口号,可自行设定
// AfxMessageBox("数据库连接失败");
// return FALSE;
mysql_init(&m_mysql);
if(!mysql_real_connect(&m_mysql,"localhost","root","","sww",3306,NULL,0))
{
AfxMessageBox("fail to connect mysql");
}
else
{
AfxMessageBox("连接数据库成功");
}
}
{
// TODO: Add your control notification handler code here
// MYSQL mysql; //数据库连接句柄
// mysql_init (&mysql);
// if(!mysql_real_connect(&mysql,"localhost","root","dxd","mydb",3306,NULL,0))
/// {//mydb为你所创建的数据库,3306为端口号,可自行设定
// AfxMessageBox("数据库连接失败");
// return FALSE;
mysql_init(&m_mysql);
if(!mysql_real_connect(&m_mysql,"localhost","root","","sww",3306,NULL,0))
{
AfxMessageBox("fail to connect mysql");
}
else
{
AfxMessageBox("连接数据库成功");
}
}
点击编译运行,出现一个对话框,然后点击button1 ,会提示"连接数据库成功"!
四.向mysql数据库中插入一个字段
在资源对话框中选择一个button ,双击button 在函数里面写:
void CSwwDlg::OnButton7()
{
// TODO: Add your control notification handler code here
// strSQL.Format("insert into sww(username,visitelist,remark) values(\'%s\',\'%s\',\'%s\')",strUsername,strList,strRemark); //注意一定要写在一行,而且必须要有\'\'
{
// TODO: Add your control notification handler code here
// strSQL.Format("insert into sww(username,visitelist,remark) values(\'%s\',\'%s\',\'%s\')",strUsername,strList,strRemark); //注意一定要写在一行,而且必须要有\'\'
CString strUsername,strList,strRemark;
GetDlgItem(IDC_EDIT)->GetWindowText(strUsername);
CString strSQL="insert into sww (username) values('fjdskf')"; //相当于mysql查询事件的要查询的“对象”
if(mysql_real_query(&m_mysql,(char*)(LPCTSTR)strSQL,(UINT)strSQL.GetLength())!=0) //相当于mysql查询事件的“远行”,
//&m_mysql 相当于在mysql这个数据库
{
AfxMessageBox("增添失败");
}
{
AfxMessageBox("增添失败");
}
else
{
AfxMessageBox("holle word!");
}
}
AfxMessageBox("holle word!");
}
}
备注:在此button7的ID需要改为 IDC_EDIT ,否则会报错
字符都需要在英文状态下输入,否则会报错:0x1n等
五.我的数据库知识还需要好好强化啊!哎,什么都忘记啦,愧对当年的全国数据库三级证书啦!
同时MFC知识要好好学学啦,至此整个MFC版的mysql 的hello world 工程完成!