VS2010连接SQL Server 2008操作与编程 (笔记)
来源:互联网 发布:网络教育毕业时间 编辑:程序博客网 时间:2024/06/13 12:44
实现VS2010连接SQL Server 2008操作与编程,主要记录的是一个学习的过程。
实现VS2010连接SQL Server 2008:逗逗飞的专栏
实现VS2010连接SQL Server 2008代码:点击打开链接
ADO的三个指针:
_ConnectionPtr:用于建立数据库的连接。 _RecordsetPtr:它是专门为通过记录集操作数据库而设立的指针,通过该接口可以对数据库的表内的记录、字段等进行各种操作。 _CommandPtr:提交的sql查询字符串指针
目的:连接数据库,实现对数据库的连接,读取操作。结果如下所示:
图:sql数据库
图:VS2010运行结果
需要的头文件#import "C://Program Files//Common Files//System//ado//msado15.dll" no_namespace rename("EOF","adoEOF")rename("BOF","adoBOF")
用到的三个变量_ConnectionPtr m_pConnection; // 数据库_RecordsetPtr m_pRecordset; // 命令_CommandPtr m_pCommand; // 记录
连接数据库void CtestDlg::OnBnClickedConnect(){// TODO: 在此添加控件通知处理程序代码::CoInitialize(NULL); //初始化OLE/COM库环境 HRESULT hr = NULL;try{hr = m_pConnection.CreateInstance(_uuidof(Connection));//创建连接对象实例if (SUCCEEDED(hr)){m_pConnection->ConnectionString =("Provider = SQLOLEDB.1; Persist Security Info = False;User ID = ARP; Password=123456; Initial Catalog = school; Data Source = (local)");hr = m_pConnection->Open("", "", "", adConnectUnspecified);//打开数据库if (FAILED(hr)){AfxMessageBox(_T("Open Failed!"));}}else{AfxMessageBox(_T("Create instance of connection failed!"));}}catch (_com_error e){CString temp;temp.Format(_T("数据库连接错误\r\n错误信息为:%s"), e.ErrorMessage());AfxMessageBox(temp);}}
查询数据库void CtestDlg::OnBnClickedAdd(){// TODO: 在此添加控件通知处理程序代码try{m_pRecordset.CreateInstance("ADODB.Recordset"); m_pRecordset->Open("select sno, cno, grade from sc",_variant_t((IDispatch*)m_pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);}catch (_com_error &e){AfxMessageBox(e.Description());}_variant_t sno, cno, grade;try{int num = m_list.GetItemCount();while (!m_pRecordset->adoEOF){CString sno= (_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("sno"))->Value);CString cno = (_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("cno"))->Value);CString grade = (_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("grade"))->Value);m_list.InsertItem(num, sno);m_list.SetItemText(num, 1, cno);m_list.SetItemText(num , 2, grade);num++;m_pRecordset->MoveNext();}}catch (_com_error &e){AfxMessageBox(e.Description());}}
插入数据(不带参数)try{if(!m_pRecordset->Supports(adAddNew)) return;m_pRecordset->AddNew(); m_pRecordset->Fields->GetItem(_variant_t("姓名"))->Value=_bstr_t("赵薇");m_pRecordset->Fields->GetItem(_variant_t("性别"))->Value=_bstr_t("女");m_pRecordset->Fields->GetItem(_variant_t("age"))->Value=_variant_t((short)20);m_pRecordset->Fields->GetItem(_variant_t("marry"))->Value=_bstr_t("未婚");m_pRecordset->Update(); }//trycatch (_com_error &e){::MessageBox(NULL, "又出毛病了。","提示",MB_OK │ MB_ICONWARNING);}
删除数据try{m_pRecordset->MoveFirst(); while(m_pRecordset->adoEOF==VARIANT_FALSE) {CString sName=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("姓名"))->Value);if(::MessageBox(NULL,"姓名="+sName+"\n删除她吗?","提示",MB_YESNO │ MB_ICONWARNING)==IDYES){m_pRecordset->Delete(adAffectCurrent); m_pRecordset->Update();}m_pRecordset->MoveNext(); }}//trycatch (_com_error &e){::MessageBox(NULL,"又出毛病了。","提示",MB_OK │ MB_ICONWARNING);}
源代码连接:http://download.csdn.net/detail/u010499449/8311739
2 0
- VS2010连接SQL Server 2008操作与编程 (笔记)
- VS2010数据库(SQL SERVER 2008)连接与操作(1)
- 使用VS2010连接SQL Server 2008数据库混合编程以实现对数据库的操作
- VS2010连接SQL Server 2008并执行查询操作
- VS2010连接SQL Server 2008并执行查询操作
- VS2010连接SQL Server 2008并执行查询操作
- VS2010连接SQL Server 2008并执行查询操作
- VS2010连接SQL Server 2008并执行查询操作
- 学习笔记:jdbc连接、操作数据库SQL Server 2008(二)
- 学习笔记:jdbc连接、操作数据库SQL Server 2008
- SQL Server 2008编程入门经典笔记(第四章:连接)
- SQL Server 2008编程入门经典笔记:表连接
- vs2010连接SQL server 方法
- vs2010连接SQL Server 2008数据库以及插入数据
- VS2010 自带的SQL SERVER 2008 EXPRESS 如何连接?
- ADO连接vs2010和sql server
- C# VS2010结合SQL server 2008数据库编程方法
- Sql server 操作笔记
- HDU2521(求因子个数)
- 数据字典增强传输到生产系统后可能需要做的事
- ToggleButton控件
- v$session 的权限
- 使用web.py 搭建服务器
- VS2010连接SQL Server 2008操作与编程 (笔记)
- onblur和onclick的冲突解决原名:onBlur killing onClick but not if setTimeout is used
- POJ3259 农场与虫洞 图论(Bellman-Ford求负环)
- ie6、ie7下JSON.parse JSON未定义的解决方法
- Memcached学习一
- tmux的使用方法和个性化配置
- Hadoop中两表JOIN的处理方法
- google map定位的简单实例
- SAP SD模块-送达方和售达方的区别和联系