一个C++连接sql的简单实例
来源:互联网 发布:ubuntu 开放端口 编辑:程序博客网 时间:2024/05/17 12:53
程序与数据库相连需要先对数据源进行配置。具体步骤为:
开始->所有程序->控制面板->管理工具->数据源(ODBC)
打开后如下图所示:
在系统DSN中,选择添加
注意:数据源名称可以随便写,不过写代码的时候会用到它。
点击完成
点击测试数据源
点击确定
点击配置
下一步
如何验证登录ID的直伪,我选了第二个,网上说第一个也可以的,但没有试。登录ID为:sa,密码就是配置数据库时设置的密码。
点击上图中的【客户端配置】出现如下图:
别名中还是一个英文句点,服务器名称是SQL server2005中的数据库名,其实可以跳过这个【客户端配置】这个页面的,选择默认的就行!
接着点【下一步】如果刚才的【客户端配置】里面或者登录ID、密码有错的话,点【下一步】是会报错的!!之后出现下图:
“更改默认的数据库为”框指定用于任何使用此数据源进行的连接的默认数据库名称。如果此框为空白,连接将使用在服务器上为登录 ID 定义的默认数据库。选中此框后,在此框中命名的数据库将覆盖为登录 ID 定义的默认数据库。如果“附加数据库文件名”框中包含主文件的名称,则主文件描述的数据库将附加为使用“更改默认的数据库为”框中指定的数据库名称的数据库。与在 ODBC 数据源中指定默认数据库相比,使用登录 ID 的默认数据库更有效。在这里pcTest这个数据库是我自己创建的,其它几个是系统自带的数据库。如果有什么不懂可以点击【帮助】按钮!!!这个比在网上的一些说明更有效。
“附加数据库文件名”框指定可附加数据库的主文件名称。该数据库作为数据源的默认数据库附加和使用。指定主文件的完整路径和文件名。在“更改默认的数据库为”框中指定的数据库名称将用作附加数据库的名称。
“附加数据库文件名”框:这个我选择为空。 接着【下一步】
这个选择默认配置即可,接着点【完成】,出现下图:
点击测试数据源:
到此ODBC的数据源配置成功!!
下面这个是我数据库的情况:
下面将写代码进行测试。在Windows环境下,在VS2008中编写代码连接SQLServer 2005数据库调用ADO方法。在VS2008新建一个控制台应用程序,命名为LinkSqlTest。使用# import把动态连接库msado15.dll导入Visual C++应用程序,并生成定义ADO库的两个C++头文件:msado15.tlh和ado15.tli。即在头文件 stdafx.h添加代码:
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")
在主函数中添加测试实现的代码:
int _tmain(int argc, _TCHAR* argv[]){//注意这里使用了删除,而不是选择查找,因为选择查找返回的是一个集合,要用到游标等,比较麻烦,CHAR* sqlCommand = "delete from student where name='李四'";//在这里我只是做一个简单的测试,看是否连接数据库成功//这里的参数就是上面配置ODBC数据源时的一些配置,uid是用户名,pwd是密码_bstr_t strConnect="DSN=sql2005test;Database=LinkTest;uid=sa;pwd=123456;";//初始化COM库::CoInitialize(NULL);//添加一个指向Connection对象的指针m_pConnection_ConnectionPtr m_pConnection(__uuidof(Connection));//创键Connection对象if( FAILED( m_pConnection.CreateInstance(__uuidof(Connection)) ) ) {printf("创键Connection对象时出错\n");}try{//连接数据库m_pConnection->Open (strConnect,"","", adModeUnknown); }catch(_com_error e) {printf("连接数据库时出错\n");} m_pConnection->Execute(sqlCommand, NULL, 1);//执行SQL语句m_pConnection->Close(); ::CoUninitialize(); //释放程序占用的COM 资源return 0;}
有错,首先应去数据库中验证SQL语句是否执行正确,如果没问题那再检查C++代码。
运行后数据库中student表中的内容如下图所示
发现数据库中少了一行(李四 ),那一行正是被删除的,到此,数据库的连接成功!!
注:参考网上文章:http://blog.csdn.net/dlutxie/article/details/6849385
完
- 一个C++连接sql的简单实例
- C建立socket连接的简单实例
- SQL注入的一个简单实例
- C一个简单的通配符匹配实例
- 通过java 连接mysql 的一个简单的实例
- jsp连接DB2数据库的一个简单实例
- 一个简单的JSP 连接MySQL使用实例
- 一个详细的VBA实例(连接SQL Server2000)
- C语言概述-C语言的一个简单实例
- 简单的C语言socket实例(远程连接)
- sql plus创建一个简单的存储过程实例
- 一个简单的用户登录界面和SQL连接了
- 一个简单的 短码 实例 ( C语言 )
- 一个简单的串口实例(C语言实现)
- python调用c函数的一个简单实例
- c与mysql连接和一个简单查询的例子
- 一个简单的sql
- SQL游标的简单实例
- 第六周作业1——利用哈夫曼编码英文字母表
- 正方体三组相对的面相等
- Go闭包
- 关于上班时的信号差的问题
- java架构师之路:JAVA程序员必看的15本书的电子版下载地址
- 一个C++连接sql的简单实例
- can't read model: number of return field is not correct
- HDU-2089 不要62 数位DP 模板题
- 计算机网络学习笔记——第三章课后题答案详解
- Thinking In Java琐碎知识点摘要(二)
- java中到底有没有指针
- struts2执行流程
- 调用WebService异常。
- C++ c创建txt文件