社区
数据库
帖子详情
ADO初始化_CommandPtr中遇见的问题
cyh3000
2004-04-03 09:58:13
_CommandPtr pCommand=NULL;
HRESULT hr=pCommand.CreateInstance(__uuidof(Command));
我把上边的初始化语句在5台机器上执行.
其中3台初始化成功,另外2台初始化失败
到底是windows系统故障还是ado的问题?
...全文
58
5
打赏
收藏
ADO初始化_CommandPtr中遇见的问题
_CommandPtr pCommand=NULL; HRESULT hr=pCommand.CreateInstance(__uuidof(Command)); 我把上边的初始化语句在5台机器上执行. 其中3台初始化成功,另外2台初始化失败 到底是windows系统故障还是ado的问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zerphy
2004-04-04
打赏
举报
回复
系统问题
cyh3000
2004-04-04
打赏
举报
回复
谢谢各位的关心.
cyh3000
2004-04-04
打赏
举报
回复
我试了8台机器只有2台不能运行,而且他们是用同一张盘装的系统,估计是win2000的问题
desrie
2004-04-04
打赏
举报
回复
MDAC
gagamazel
2004-04-04
打赏
举报
回复
ado.dll的那一串有问题吧
系统的问题
VC
ADO
调用存储过程
关于
ADO
调用存储过程的标准的做法:按照以下步骤进行: 1、生成并
初始化
一个_
Command
Ptr
对象; 2、生成调用存储过程需要的参数,这些参数都是_Parameter
Ptr
对象; 3、按照顺序将使用_
Command
Ptr
的Append方法为存储过程提供参数(包括输入参数和输出参数); 4、为_
Command
Ptr
对象指定需要使用的
ADO
连接等; 5、使用_
Command
Ptr
的Execute方法调用存储过程; 6、从结果
中
获取返回参数的值(如果有的话)。
sql+
ado
交通灯
我花钱买的,结果没用上,太亏了 本系统采用
ADO
来访问SQL数据库,这里充分应用了C++类封装的功能,根据本系统应用的范围,将访问数据库的功能函数封装在一个类CMyDatabase。 正如前所述,
ADO
是访问数据库的一个方法,它提供了不同的接口。
ADO
库包含三个基本接口:_Connection
Ptr
接口、_
Command
Ptr
接口和_Recordset
Ptr
接口。 _Connection
Ptr
接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个存储过程。使用_Connection
Ptr
接口返回一个记录集不是一个好的使用方法。对于要返回记录的操作通常用_Recordser
Ptr
来实现。而用_Connection
Ptr
操作时要想得到记录条数得遍历所有记录,而用_Recordser
Ptr
时不需要。 _
Command
Ptr
接口返回一个记录集。它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。在使用_
Command
Ptr
接口时,你可以利用全局_Connection
Ptr
接口,也可以在_
Command
Ptr
接口里直接使用连接串。如果你只执行一次或几次数据访问操作,后者是比较好的选择。但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_Connection
Ptr
接口创建一个数据连接,然后使用_
Command
Ptr
接口执行存储过程和SQL语句。 _Recordset
Ptr
是一个记录集对象。与以上两种对象相比,它对记录集提供了更多的控制功能,如记录锁定,游标控制等。同_
Command
Ptr
接口一样,它不一定要使用一个已经创建的数据连接,可以用一个连接串代替连接指针赋给_Recordset
Ptr
的connection成员变量,让它自己创建数据连接。如果你要使用多个记录集,最好的方法是同
Command
对象一样使用已经创建了数据连接的全局_Connection
Ptr
接口 ,然后使用_Recordset
Ptr
执行存储过程和SQL语句。 根据这些,我们将数据库的各种操作封装到CMyDatabase类里。几个主要函数说明如下:
VC+
ADO
存取SQL SERVER
VC+
ADO
存取SQL SERVER 下面的代码是这样生成的 1)先生成一个MFC 对话框工程(名字叫Test),并在stdafx.h加入下面一行,(注意路径) #import "c:\program files\common files\system\
ado
\ms
ado
15.dll" no_namespace rename("EOF","
ado
EOF") 2)再在Test.h增加下面几个变量(protected) _Connection
Ptr
m_pConnection;//connection object's pointer _
Command
Ptr
m_p
Command
; //
command
object's pointer _Parameter
Ptr
m_pParameter; //Parameter object's pointer _Recordset
Ptr
m_pRecordset; 3)再修改Test.cpp
中
的InitInstance() //
初始化
COM库 ::AfxOleInit(); //針對MFC //CoInitialize(NULL);//針對非MFC //连接数据库
VC++连接
ADO
数据库细
(1)、引入
ADO
类 (2)、
初始化
COM (3)#import 包含后就可以用3个智能指针了:_Connection
Ptr
、_Recordset
Ptr
和_
Command
Ptr
(2)、关闭 (3)、设置连接时间 //设置连接时间-----------------------------------
VC连接SQL2005
VC连接SQL2005 //使用
ADO
来连接SQL2005数据库,测试环境为VS2008+WIN7+SQL2005 主要代码如下: void ConnSqlDb() { ::CoInitialize(NULL);//
初始化
COM库 _Connection
Ptr
pConn(__uuidof(Connection)); //数据库连接对象 _Recordset
Ptr
pRst(__uuidof(Recordset)); //数据库记录集对象 _
Command
Ptr
pCmd(__uuidof(
Command
)); //数据库命令对象 try { //pConn.CreateInstance(__uuidof(Connection)); CString str; str.Format(_T("Provider=SQLOLEDB;Network Library=DBMSSOCN;Initial Catalog=KTV;User ID=sa;Password=qepdcwqiy; Data Source=127.0.0.1,1433")); pConn->Open(_bstr_t(str),"","",adModeUnknown); AfxMessageBox(_T("连接的数据库名字为:")+pConn->DefaultDatabase); } catch(_com_error e) { CString errormessage; errormessage.Format(_T("连接失败:Error: %s"), e.ErrorMessage()); AfxMessageBox(errormessage); } }
数据库
4,011
社区成员
39,820
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章