vs2008和SQL Server使用ADO连接方法

环境:

操作系统:win7- 64bit

编译器:VS2008

数据库:SQL Server 2000

说明:

SQl Server2000win7 64bit 的有点不兼容,网上有很多sql server2000的下载,但安装时有些安装失败,提示无法安装数据库引擎,只能安装客户端(那就不要安装了),笔者安装的SQL Server2000的下载地址为:

http://pan.baidu.com/share/link?shareid=88166&uk=1343091770 

 

第一步:

安装数据库。

Win7 64位的安装方法如下:

安装方法是首先将上述连接地址的程序打开,选着解压目的文件夹,如图1.1

vs2008和SQL <wbr>Server使用ADO连接方法

1.1

解压完成后,进入目录:F:\SQLEVAL\x86\setup,找到setupsql.exe,右键选择属性,兼容性中选择“以兼模式运行这个程序”和“以管理员身份运行此程序”,然后双击安装就行,安装过程中进行到图1.2时,设置如图1.2

 


vs2008和SQL <wbr>Server使用ADO连接方法

1.2

“下一步”进入图1.3

vs2008和SQL <wbr>Server使用ADO连接方法
1.3

在图1.3中设置的密码要记住了,因为vs2008连接时要用,这里的密码就设置为“sa”了,然后继续。。。。。。。。

将上面提供的SQL Server2000安装后,选择“开始”->Mis....SQL Server->“服务管理器”启动数据库,然后选择“企业管理器”,连接数据库,创建一个新的数据库Person,展开Person数据库,然后选择“查询分析器”,注意图1.4红色圈圈中,选择Person(这样才能操作Person数据库,不要想着用界面见表、添加数据了,SQL Server2000win7 64bit下好像不能实现图形化操作,所以还是用查询语句,也就是SQL语句来实现数据操作吧,也练习一下sql语句)

vs2008和SQL <wbr>Server使用ADO连接方法

                                          图1.4

这里为方便后面编程验证,在Person数据库中创建一个LoginUser表:create table LoginUser(

Id int,

Name char(20),

Password char(20)

);

 

到这里数据库就准备好了

 

第二步,VS2008编程ADO连接SQL Server

首先新建一个MFC工程,笔者选择单文档的,然后就是向工程内添加新的类,用于连接数据库,类名自己定义,笔者定义为CADOEx

导入ADO库:在stdafx.h文件头添加

#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

 

添加好后,添加三个变量:

// 记录集对象

         _RecordsetPtr m_pRs;

        // 命令对象

        _CommandPtr m_PCmd;

_ConnectionPtr m_pConnection;

继续添加两个函数:

// 连接数据库

        BOOL ConnectDB(void);

        // 执行更新操作

BOOL ExecuteNotSelSQL(CString strNotSelSQL);

然后创建连接对象实例和创建命令对象实例

CADOEx类的构造函数CADOEx()函数中添加如下代码:(可以照搬)

CADOEx::CADOEx(void)

{

//创建连接对象实例

HRESULT hr m_pConnection.CreateInstance(_uuidof(Connection));

if(!SUCCEEDED(hr))

{

AfxMessageBox("创建连接对象实例失败!");

}

//创建命令对象实例

hr m_PCmd.CreateInstance(__uuidof(Command));

if(!SUCCEEDED(hr)){

AfxMessageBox("创建命令对象失败");

}

}

创建连接对象实例后:连接数据库,调用实例 m_pConnection的函数Open()

Open函数的参数写法有很多方法下面给的方法是:不通过DSNSQL SERVER数据库进行连接

其中ServerSQL服务器的名称(可以是127.0.0.1DATABASE是库的名称(这里用刚才建的数据库Person)”

ConnectDB(void)函数中添加

BOOL CADOEx::ConnectDB(void)

{

/*

HRESULT hr m_pConnection->Open("Provider SQLOLEDB.1; Data Source =HEHE-PC; Database Person;","sa","sa",adModeUnknown);

*/

HRESULT hr m_pConnection->Open("driver={SQL Server};Server=HEHE-PC;DATABASE=Person;UID=sa;PWD=sa","","",adModeUnknown);

if (!SUCCEEDED(hr))

{

AfxMessageBox("连接到数据库失败!");

return FALSE;

}

return TRUE;

}

执行更新操作函数ExecuteNotSelSQL(CString strNotSelSQL)中添加如下代码,实现对数据库的更新:

BOOL CADOEx::ExecuteNotSelSQL(CString strNotSelSQL)

{

try

{

_variant_t vResult;

vResult.vt VT_ERROR;

vResult.scode DISP_E_PARAMNOTFOUND;

//设置关联的Connection对象

m_PCmd->ActiveConnection m_pConnection;

//SQL命令

m_PCmd->CommandText (_bstr_t)strNotSelSQL;

//执行命令

m_pRs m_PCmd->Execute(&vResult,&vResult,adCmdText);

}

catch (_com_errore)

{

//显示错误信息

AfxMessageBox(e.ErrorMessage());

return FALSE;

}

return TRUE;

}

 

 

现在开始编程实现VS2008连接SQL Server,在工程的***View类中的OnInitialUpdate(void)函数中添加以下代码:

void CAdo01View::OnInitialUpdate()

{

CListView::OnInitialUpdate();

 

CADOEx ado;

if(ado.ConnectDB()){

AfxMessageBox("数据库连接成功");

//Person数据库loginUser表中插入一条记录,loginUser表的定义见上文

CString strSQL "insert into loginUser values('12','来自VC','12')";

ado.ExecuteNotSelSQL(strSQL);

AfxMessageBox("插入了一条记录进loginUser表中");

}

else{

AfxMessageBox("数据库连接失败!");

}

// TODO: 调用GetListCtrl() 直接访问ListView 的列表控件,

//  从而可以用项填充ListView

}

 

然后编译项目,运行程序,就可以了

完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值