C++连接本地SQL数据库
来源:互联网 发布:eclipse编写java程序 编辑:程序博客网 时间:2024/05/22 14:51
注:以下代码在VS 2013中实现,其他VS版本亦适用。
1、引入ADO文件。在 stdafx.h 文件末尾(通常在末尾)添加以下代码:
#import "C:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF", "adoEOF")
//这是引入 msado15.dll 这个文件,Windows的路径通常是这个,不排除有例外
2、初始化COM库。在程序入口,即(xxx代表项目名) xxxDlg.cpp 文件中 BOOL CxxxDlg::OnInitDialog() 函数中添加以下代码。通常从“在此添加额外的初始化代码”后面添加:
::CoInitialize(0); //前面的双冒号( :: )叫域作用符。若前面是空白,表示其后的函数是系统函数。
3、创建Connection对象并连接数据库(还是在 OnInitDialog() 中),并执行SQL语句。我个人喜欢先 .h 文件中定义,在 .cpp 文件中使用:
定义:
<span style="white-space:pre"></span>_ConnectionPtr pConnection;_RecordsetPtr pRecordset;_variant_t vID, vName;
使用,代码中有根据情况改的地方(汉字):
<span style="white-space:pre"></span>pConnection.CreateInstance("ADODB.Connection"); //可接着初始化COM的代码编写。pConnection->Open("Provider=SQLOLEDB; Server=服务器名; Database=数据库名; uid=sa; pwd=sa的密码", "", "", adModeUnknown);pRecordset.CreateInstance("ADODB.Recordset");pRecordset->Open("select * from 表名", _variant_t((IDispatch *)pConnection, true), adOpenStatic, adLockOptimistic, adCmdText);
读取并显示在 list Control 中,我这里的表中只有两列数据,视情况添加删除:
<span style="white-space:pre"></span>m_listCon.InsertColumn(0, _T("编号(ID)"), LVCFMT_CENTER, 120, 2);m_listCon.InsertColumn(1, _T("姓名(NAME)"), LVCFMT_CENTER, 130, 2);UpdateData(FALSE);int i = 0;while (!pRecordset->adoEOF){vID = pRecordset->GetCollect("ID");vName = pRecordset->GetCollect("NAME");m_ID = (CString)vID;m_Name = (CString)vName;dataList.push_back(userinfo(m_ID, m_Name));m_listCon.InsertItem(i, m_ID);m_listCon.SetItemText(i++, 1, m_Name);pRecordset->MoveNext();}
操作,大体是这样,具体的根据表的情况更改。m_ID,m_Name是我的输入框的空间取值变量:
<span style="white-space:pre"></span>UpdateData(TRUE);CString str1;str1.Format(_T("insert into student(ID, NAME) values('%s', '%s')"), m_ID, m_Name);pConnection->Execute(_bstr_t(str1), NULL, adCmdText);CString str2;str2.Format(_T("update student set NAME = '%s' where ID = '%s'"), m_Name, m_ID);pConnection->Execute(_bstr_t(str2), NULL, adCmdText);<span style="white-space:pre"></span>CString str3;str3.Format(_T("delete student where ID = '%s'"), m_ID);pConnection->Execute(_bstr_t(str3), NULL, adCmdText);
0 0
- C++连接本地SQL数据库
- wince 连接本地数据库(C#)
- C#SQL连接数据库
- SQL数据库 本地 127.0.01 连接 配置
- SQL Server2008突然连接不到本地数据库
- C#WinForm连接本地或远程Sql数据库,并进行简单操作。
- [VB.NET]vs2005 如何连接本地SQL数据库 在线等!
- VC++ 连接SQL Server数据库(远程+本地)
- 免安装PL/SQL无法连接本地ORACLE数据库解决方法
- SQL Sever无法连接到本地数据库解决办法
- PL/SQL Developer连接本地Oracle 11g 数据库
- pl/sql developer 远程连接数据库本地网络服务配置
- C#---SQL 连接本机数据库
- 连接本地数据库
- plsql连接本地数据库
- chatterbot连接本地数据库
- [C#] VS2012连接SQL Server2012数据库的连接方式
- pl/sql配置连接远程数据库oracle,本地没有安装oracle数据库的情况下
- Android中Http网络请求库Asnyc-http的使用第三方库
- java编码解码过程
- HTML--4框架(frame)
- tomcat所部署的项目设置
- 扣丁学堂——AsyncTask
- C++连接本地SQL数据库
- OC OOP基础
- Hdu 1049模拟解题报告
- PendingIntent详解
- mycncart及opencart后台忘记密码
- SharedPreferences使用
- Xampp配置多站点及根目录
- opencart及其中国版mycncart系统安装后,商品图片所需注意事项
- 《Java Web 程序开发入门》知识总结