C++连接SQL

上传人:野鹰 文档编号:1088341 上传时间:2017-05-27 格式:TXT 页数:13 大小:16.18KB
返回 下载 相关 举报
C++连接SQL_第1页
第1页 / 共13页
C++连接SQL_第2页
第2页 / 共13页
C++连接SQL_第3页
第3页 / 共13页
C++连接SQL_第4页
第4页 / 共13页
C++连接SQL_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《C++连接SQL》由会员分享,可在线阅读,更多相关《C++连接SQL(13页珍藏版)》请在金锄头文库上搜索。

1、C+连接SQL数据库分步骤进行我们在进行C+连接SQL数据库的操作时,首先应该进行相应的系统配置,然后初始化C+与SQL连接,然后再进行数据连接的操作,然后应用SQL执行语言来具体操作。C+连接SQL数据库第一步 系统配置1.设置SQLSERVER服务器为SQL登录方式,并且系统安全性中的sa用户要设置登录功能为“启用”,还有必须要有密码。2.需要在ODBC中进行数据源配置,数据源选”SQL SERVER”,登录方式使用“使用输入用户登录ID和密码的SQL SERVER验证”,并填写登录名(sa)和密码,注意一点,密码不能为空,这就意味着你的sa用户必须得有密码。否则无法通过系统本身的安全策略

2、。测试通过就完成了配置。C+连接SQL数据库第二步 C+与SQL连接初始化1.在你所建立的C+项目中的stdafx.h头文件中引入ADO具体代码如下#import “c:Program FilesCommon FilesSystemadomsado15.dll” no_namespace rename(”EOF”, “adoEOF”) rename(”BOF”, “adoBOF”) 2.定 _ConnectionPtr 后 用Connection 的Open方法建立与服务器的连接。数据 _ConnectionPtr _com_ptr_t得 的一 具体的 。_ConnectionPtr了Conn

3、ection 的Idispatch接 一 必要的操作。 通过这 操 Connection 。如连接SQLServer数据库,代码如下 /连接 MS SQL Server /初始化 _ConnectionPtr pMyConnect = NULL; HRESULT hr = pMyConnect.CreateInstance(_uuidof(Connection); if (FAILED(hr) return;/初始化 接 数 _bstr_t strConnect = “Provider=SQLOLEDB; Server=hch; Database=mytest; uid=sa; pwd=sa;

4、”; /Database 你系统中的数据库 /执行连接 try / Open方法连接 必须BSTR_bstr_t pMyConnect-Open(strConnect, “”, “”, NULL); catch(_com_error &e) MessageBox(e.Description(), “”, MB_OK|MB_ICONINFORMATION); /currency1 接“ C+连接SQL数据库第步 的数据连接/定 _RecordsetPtr , 用fiRecordset 的Open,fl 一 数据 /初始化过 下 _RecordsetPtr pRecordset; if (FAIL

5、ED(pRecordset.CreateInstance(_uuidof(Recordset) return; /执行操作 try pRecordset-Open(_variant_t(”userinfo”),_variant_t(IDispatch*)pMyConnect), adOpenKeyset, adLockOptimistic, adCmdTable); catch (_com_error &e) MessageBox(”无法 userinfo”, “系统 ”, MB_OK|MB_ICONINFORMATION); C+连接SQL数据库第步 执行SQL语这 ”,我为要你点SQL语

6、一 方用 的方法,有 点。首先m_pConnection.CreateInstance(_uuidof(Connection); /初始化Connection m_pRecordset.CreateInstance(_uuidof(Recordset);/初始化Recordset CString strSql=”select * from tb_goods”;/具体执行的SQL语 m_pRecordset=m_pConnection-Execute(_bstr_t(strSql), NULL, adCmdText);/ 数据入m_pRecordset数据器 你的SQL语 执行完成了m_pRec

7、ordset 的数据就 你执行的 。得 录 while(!m_pRecordset-adoEOF)/ 并 name 的 录并输 CString temp = (TCHAR *)(_bstr_t)m_pRecordset-GetFields()-GetItem (”name”)-Value; AfxMessageBox(temp); pRecordset-MoveNext(); 入 录 / 得初始化 再执行 下操作 CString strsql; strsql.Format(”insert into tb_goods(no,name, price) values(%d,%s, %d)”,m_in

8、tNo,m_strName,m_intPrice); m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText); 录 CString strsql; strsql.Format(”update tb_goods set name=%s , price=%d where no=%d “,m_strName,m_intPrice,m_intNo); m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText); 录 CString strsql; st

9、rsql.Format(”delete from tb_goodswhere no= %d “,m_intNo); m_pRecordset=m_pConnection-Execute(_bstr_t(strsql),NULL,adCmdText); 用的SQL语和执行方法。 能不 ,不过 。如 你 SQL语 有 的执行 接 得需要的 录。C+连接SQL数据库的相方法就为 这。*( 的 ,我 你 一文 初 有 。需要的 你 留下邮箱 我这有一 初的文档 你 不,希望继续努力。试, 时候一 浮云。哈哈)基本流 万事头难,任何一种新技术 于初来最重要的还 “入门”,掌握 要点。让我们来 ADO数据

10、库的基本流! (1)初始化COM库,引入ADO库定 文件 (2)用Connection 连接数据库 (3)利用建立 的连接,通过Connection、Command 执行SQL命令,利用Recordset 得 录进行 、 。 (4)使用完毕后闭连接释放 。 准备工作: 为了 能测试本文 供的 子,我们采用Access数据库,您也 接在我们 供的 代码中找 这test.mdb。 下我们详细 述步骤并 相代码。 【1】COM库的初始化 我们 使用AfxOleInit()来初始化COM库,这项工作通 在CWinApp:InitInstance()的重载函数中完成,请 如下代码: BOOL CADOT

11、est1App:InitInstance() AfxOleInit(); . 【2】用#import 令引入ADO 库 我们在stdafx.h中加入如下语 (stdafx.h这 文件哪 找 ?你 在FileView中的Header Files找 ) #import c:program filescommon filessystemadomsado15.dll no_namespace rename(EOF,adoEOF) 这一语有何作用呢? 最终作用同我们的#include 似,编译的时候系统为我们currency1成msado15.tlh,ado15.tli C+头文件来定 ADO库。 点明

12、: (1) 您的环境中msado15.dll不一定在这 目录下,请按 情况 (2) 在编译的时候肯能 现如下, 微软在MSDN中作了明,并建议我们不要这 。 msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type,result still unsigned 【3】创建Connection 并连接数据库 首先我们需要添加一 向Connection 的 : _ConnectionPtr m_pConnection; 下的代码演了如何创建Connection 如何连接数据库并进行异 捕捉。 BOO

13、L CADOTest1Dlg:OnInitDialog() CDialog:OnInitDialog(); HRESULT hr; try hr = m_pConnection.CreateInstance(ADODB.Connection);/创建Connection if(SUCCEEDED(hr) hr = m_pConnection- Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb,adModeUnknown);/连接数据库 / 一中连接 中的Provider ACCESS2000环境的, 于ACCESS97,需要

14、为:Provider=Microsoft.Jet.OLEDB.3.51; catch(_com_error e)/捕捉异 CString errormessage; errormessage.Format(连接数据库失败!rn“信息:%s,e.ErrorMessage(); AfxMessageBox(errormessage);/显“信息 在这段代码中我们 通过Connection 的Open方法来进行连接数据库的,下 该方法的原 HRESULT Connection15:Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options ) ConnectionString为连接 ,UserID 用户名, Password 登陆密码,Options 连接选项,用于 定Connection 数据的新 权, Options 如下 : adModeUnknown:缺省。当前的 权未设置 adModeRead: adModeWrite:写 adModeReadWrite: 写 adModeShareDenyRead:阻止 fiConnection 权限 连接 adModeShareDenyWrit

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号