社区
数据库
帖子详情
ADO _RecordsetPtr 超时
adobase
2012-04-23 06:06:41
ADO _RecordsetPtr 超时 有什么函数可以设置阿.
用_RecordsetPtr 获取的结果集合。
执行到一半就报错了。 应该是时间问题。 有什么函数可以设置执行时间阿.?
...全文
115
3
打赏
收藏
ADO _RecordsetPtr 超时
ADO _RecordsetPtr 超时 有什么函数可以设置阿. 用_RecordsetPtr 获取的结果集合。 执行到一半就报错了。 应该是时间问题。 有什么函数可以设置执行时间阿.?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hdg3707
2012-04-23
打赏
举报
回复
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename ("EOF", "adoEOF")
头文件里类里:
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
_CommandPtr m_pCommand;
CPP文件里:
BOOL CDatabaseDll::OpenDatabaseFun(_ConnectionPtr pConnection,_RecordsetPtr pRecordset,_CommandPtr pCommand)
{
BOOL Result=TRUE;
HRESULT hr;
try
{
hr = pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
pConnection->ConnectionTimeout = 10;
// hr = m_pConnection->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\NW.mdb","", "", adModeUnknown);//这是OFFICE2003以下的
hr = pConnection->Open("Provider=Microsoft.Ace.Oledb.12.0;Data Source=D:\\bagayalu.accdb;Jet OLEDB:Database Password=123456","", "", adModeUnknown);//这是OFFICE2007以上的,包括OFFICE2010,这个连接字符串就是在OFFICE2010下用的,没问题
//m_pConnection->PutDefaultDatabase ((_bstr_t)"DB");//设置默认数据库
pCommand.CreateInstance(__uuidof(Command));
pCommand->CommandTimeout = 5;
pCommand->ActiveConnection = pConnection;
}
}
catch(_com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!/r/n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
Result=FALSE;
return Result;
}
_variant_t var;
float v1,v2,v3,v4;
CString Remark;
pRecordset.CreateInstance(__uuidof(Recordset));
try
{
pRecordset->Open("SELECT * FROM 表1",// 查询DemoTable表中所有字段
pConnection.GetInterfacePtr(),// 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
while(!m_pRecordset->adoEOF)
{
var = m_pRecordset->GetCollect("v1");
if(var.vt != VT_NULL)
v1=var.fltVal;
// strName = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("v2");
if(var.vt != VT_NULL)
v2=var.fltVal;
var = m_pRecordset->GetCollect("v3");
if(var.vt != VT_NULL)
v3=var.fltVal;
var = m_pRecordset->GetCollect("v4");
if(var.vt != VT_NULL)
v4=var.fltVal;
var = m_pRecordset->GetCollect("remark");
if(var.vt != VT_NULL)
Remark = (LPCSTR)_bstr_t(var);
m_pRecordset->MoveNext();
}
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
Result=FALSE;
return Result;
}
return Result
adobase
2012-04-23
打赏
举报
回复
人全哪去了 。
adobase
2012-04-23
打赏
举报
回复
寻求帮助阿.
_
Recordset
Ptr
的Open()函数
ADO
抛出异常
_
Recordset
Ptr
的open与_Command
Ptr
的Execute区别
为了取得结果记录集,我们定义一个指向
Recordset
对象的指针:_
Recordset
Ptr
m_p
Recordset
; 并为其创建
Recordset
对象的实例: m_p
Recordset
.CreateInstance("
ADO
DB.
Recordset
"); SQL命令的执行可以
_Connection
Ptr
、_
Recordset
Ptr
和_Command
Ptr
打开和关闭
// 关闭
ADO
连接状态 if (m_pConnection->GetState() == adStateOpen) { m_pConnection->Close(); } if (m_pConnection) { m_pConnection.Release...
VC 数据库编程--
ADO
接口详解
ADO
库包含三个基本接口:_Connection
Ptr
接口、_Command
Ptr
接口和_
Recordset
Ptr
接口。 _Connection
Ptr
接口返回一个记录集或一个空指针。通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个...
摘:C++:用
ADO
操作数据库的方法步骤
ADO
库包含三个基本接口:_Connection
Ptr
接口、_Command
Ptr
接口和_
Recordset
Ptr
接口。 _Connection
Ptr
接口返回一个记录集或一个空指针。 通常使用它来创建一个数据连接或执行一条不返回任何结果的SQL语句,如一个...
数据库
4,011
社区成员
39,816
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章