c++连接SQL server2005
来源:互联网 发布:caffe loss大小 编辑:程序博客网 时间:2024/05/19 12:16
环境: 系统windows7 VS2008, SQL server2005
在这里先要对ODBC进行配置:
控制面板->管理工具->数据源(ODBC),如果控制面板中找不到管理工具,那就直接在开始菜单中搜索:“管理工具”,打开后如下图:
在【系统DSN】如果没有SQL Server驱动程序,那就选【添加】,如果已经有则选中后点【配置】,之后会出现如下对话框:
数据源名称可以随便写,不过待会写代码的时候,代码里面会用到这个
在【服务器】里面输入一个英文的句点,表示默认的服务器,然后【下一步】出现如下图:
如何验证登录ID的直伪,我选了第二个,网上说第一个也可以的,但没有试。登录ID为:sa,密码就是配置数据库时设置的密码。
点击上图中的【客户端配置】出现如下图:
别名中还是一个英文句点,服务器名称是SQL server2005中的数据库名,其实可以跳过这个【客户端配置】这个页面的,选择默认的就行!
接着点【下一步】如果刚才的【客户端配置】里面或者登录ID、密码有错的话,点【下一步】是会报错的!!之后出现下图:
“更改默认的数据库为”框指定用于任何使用此数据源进行的连接的默认数据库名称。如果此框为空白,连接将使用在服务器上为登录 ID 定义的默认数据库。选中此框后,在此框中命名的数据库将覆盖为登录 ID 定义的默认数据库。如果“附加数据库文件名”框中包含主文件的名称,则主文件描述的数据库将附加为使用“更改默认的数据库为”框中指定的数据库名称的数据库。与在 ODBC 数据源中指定默认数据库相比,使用登录 ID 的默认数据库更有效。在这里pcTest这个数据库是我自己创建的,其它几个是系统自带的数据库。如果有什么不懂可以点击【帮助】按钮!!!这个比在网上的一些说明更有效。
“附加数据库文件名”框指定可附加数据库的主文件名称。该数据库作为数据源的默认数据库附加和使用。指定主文件的完整路径和文件名。在“更改默认的数据库为”框中指定的数据库名称将用作附加数据库的名称。
“附加数据库文件名”框:这个我选择为空。 接着【下一步】这个选择默认配置即可,接着点【完成】,出现下图:
点击【测试数据源】,如果测试成功会出现下图:
到此ODBC的数据源配置成功!!
下面这个是我数据库的情况:
下面将写代码进行测试:
//Windows环境下,Visual C++ 6.0连接SQLServer 2005数据库的ADO方法,在VS2008中编写代码如下:
#pragma once
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <stdio.h>
#include <tchar.h>
//使用# import把动态连接库msado15.dll导入Visual C++应用程序,并生成定义ADO库的两个C++头文件:msado15.tlh和ado15.tli。即:
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "EndOfFile")
void main()
{
char * sqlCommand = "delete from student where name='gg'";//注意这里使用了删除,而不是选择查找,因为选择查找返回的是一个集合,要用到游标等,比较麻烦,
//在这里我只是做一个简单的测试,看是否连接数据库成功。
_bstr_t strConnect="DSN=sql2005test;Database=pcTest;uid=sa;pwd=123456;";//这里的参数就是上面配置ODBC数据源时的一些配置,uid是用户名,pwd是密码
::CoInitialize(NULL);//初始化COM库
//添加一个指向Connection对象的指针m_pConnection
_ConnectionPtr m_pConnection(__uuidof(Connection));
if( FAILED( m_pConnection.CreateInstance(__uuidof(Connection)) ) ) //创键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 资源
}
如果有错,首先应去数据库中验证SQL语句是否执行正确,如果没问题那再检查C++代码。
运行后会发现数据库中少了一行,那一行正是被删除的,到此,数据库的连接成功!!
- SQL Server2005连接数据库
- jdbc连接sql server2005
- Java连接SQL Server2005
- 连接SQL Server2005数据库
- 连接SQL Server2005 数据库
- jsp连接sql server2005
- java连接sql server2005
- c++连接SQL server2005
- ADO连接SQL Server2005
- VC连接SQL server2005
- c++连接SQL server2005
- C语言ODBC连接sql server2005 学生选课
- SQL Server2005服务器连接问题
- Eclipse中连接SQL Server2005
- JBOSS连接SQL Server2005出错
- SQL Server2005连接Excel、Access
- 无法连接上SQL SERVER2005
- Sql Server2005连接字符串总结
- Web Service那些事 1/4
- php判断数组元素中是否存在某个字符串的方法
- 使用回调函数实现Fragment之间的传值
- 3、下载与安装Eclipse
- mView has no focus+DecorView setVisiblity: visibility = 4+Finishing stop of ActivityRecord
- c++连接SQL server2005
- C++中的SFINAE
- C++实现屏幕截图(全屏截图)
- 设计模式之观察者模式---Observer Pattern
- Codevs 1065 01字符串
- 带碰撞检测的摄像机
- 杭电acm--2052
- [leetcode-284]Peeking Iterator(java)
- 3D GAME PROGRAMMING WITH DIRECTX11(4)