admin管理员组文章数量:1794759
在MFC中连接SQL Server数据库,并对表进行操作(超简单)
文章目录
- 必要准备
- 需要包含的头文件
- 连接数据库
- 执行sql语句
- 查询
- 修改
- 插入
- 删除
- CString的格式化
首先必须有你的数据库,以及表。我的电脑名字是LZW-GOOD,登录用户名是sa。 我这里使用的数据库是test0,表是Student。
需要包含的头文件 #include "afxdialogex.h" #include <icrsint.h> #include <windows.h> #include <sqltypes.h> #include <sql.h> #include <sqlext.h> #import "c:\\program files\\common files\\system\\ado\\msado15.dll" no_namespace rename("EOF", "adoEOF")如果大家运行时,抛出了异常,多半是因为sql语句错了。 也有可能是插入时主键约束等原因 我下方的代码不可以直接运行,需要大家修改其中的sql语句,也就是其中的字符串。
连接数据库 //初始化指针 _ConnectionPtr pMyConnect = NULL; HRESULT hr = pMyConnect.CreateInstance(__uuidof(Connection)); if (FAILED(hr)) return; //初始化连接字符串 _bstr_t strConnect = "Driver={sql server};server=127.0.0.1;uid=sa;pwd=123456;database=test0;"; //执行连接 try { // 调用Open方法 pMyConnect->Open(strConnect, "", "", NULL); } catch (_com_error &e) //连接异常 { MessageBox(e.Description(), TEXT("提示"), MB_OK | MB_ICONINFORMATION); }如果没有弹出对话框提示异常,表明连接成功
执行sql语句 查询 //初始化Recordset指针 _RecordsetPtr pRecordset; pRecordset.CreateInstance(__uuidof(Recordset)); //查询 CString strsql = TEXT("select * from student"); pRecordset = pMyConnect->Execute(_bstr_t(strsql), NULL, adCmdText);//将查询结果导入pRecordset数据容器 //遍历并读取sname列的记录并输出 while (!pRecordset->adoEOF) { CString temp = (TCHAR *)(_bstr_t)pRecordset->GetFields()->GetItem("sname")->Value; AfxMessageBox(temp);//以对话框显示所有sname //这里添加你的判断代码 pRecordset->MoveNext(); }遍历弹出的对话框 等等…
修改 //修改 strsql = TEXT("update student set sname ='爸爸' where sname='王敏'"); pRecordset = pMyConnect->Execute(_bstr_t(strsql), NULL, adCmdText); 插入 //以常量插入 strsql = TEXT("insert into student values('001','测试','男',20,'ABC')"); pRecordset = pMyConnect->Execute(_bstr_t(strsql), NULL, adCmdText); //以变量插入 CString id = TEXT("002"); CString name=TEXT("测试"); CString sex = TEXT("男"); int age = 20; CString dep = TEXT("ABC"); strsql.Format(TEXT("insert into student values('%s','%s','%s',%d,'%s')"), id, name, sex, age, dep); pRecordset = pMyConnect->Execute(_bstr_t(strsql), NULL, adCmdText); 删除 //删除 strsql = TEXT("delete from student where sname='测试'"); pRecordset = pMyConnect->Execute(_bstr_t(strsql), NULL, adCmdText); CString的格式化Format() 常用的格式字符
%s | 字符串,例如TEXT(“Hello!”) |
%d | 整数,int |
%ld | 长整数,long |
%f | 单精度浮点数,float |
%lf | 双精度浮点数,double |
更加详细的内容可以阅读以下几位博主的文章 参考文章1 参考文章2 参考文章3
版权声明:本文标题:在MFC中连接SQL Server数据库,并对表进行操作(超简单) 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1686656514a91322.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论