求救:我的VC编译出来的程序,运行的时候怎么总是显示"record set failed to open"? 我的VC编译出来的程序,运行的时候怎么总是显示"record set failed to open"?求救啊,谢谢各位老大. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你提供的信息太少了。恐怕只有神才有办法帮到你。把Open记录集的部分代码贴出来吧 HRESULT Open() { CDataSource db; CSession session; HRESULT hr; CCommand<CDynamicAccessor> cmd; CDBPropSet dbinit(DBPROPSET_DBINIT); dbinit.AddProperty(DBPROP_AUTH_PASSWORD, ""); dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false); dbinit.AddProperty(DBPROP_AUTH_USERID, "sa"); dbinit.AddProperty(DBPROP_INIT_CATALOG, "PEAK"); dbinit.AddProperty(DBPROP_INIT_DATASOURCE, "WQ"); dbinit.AddProperty(DBPROP_INIT_LCID, (long)2052); dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4); hr = db.OpenWithServiceComponents("SQLOLEDB.1", &dbinit); if (FAILED(hr)) return hr; hr = session.Open(db); if (FAILED(hr)) return hr; CDBPropSet propset(DBPROPSET_ROWSET); propset.AddProperty(DBPROP_CANFETCHBACKWARDS, true); propset.AddProperty(DBPROP_IRowsetScroll, true); propset.AddProperty(DBPROP_IRowsetChange, true); propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE ); hr = CCommand<CAccessor<CConsume_VSource> >::Open(session, "SELECT * FROM dbo.Consume_VSource", &propset); if (FAILED(hr)) return hr; return MoveNext(); } 有没有人帮忙我一下啊?hr = db.OpenWithServiceComponents("SQLOLEDB.1", &dbinit);hr返回是负数. 其实这个数据库是在SQL右键点击新建的,如果使用查询分析器Create database, 就没问题.能否问个问题,为什么右键直接新建的会这样? 干吗不用trycatch.不明白,期待楼下解决。 制作类似Explorer的东西, 如果能够读取文件的基本信息 (如版本, 公司 啥啥). 关与VC程序对网站发送请求的简单问题 一段USB设备挂起的代码 vc 中怎么表示二进制? 怎么刷新图标缓存? 关于MSDN上一个代码问题。 VS.net 安装为什么老师提是要我插入组建更新光盘? 如何获取系统时钟的 WM_LBUTTONDOWN消息 谁有WIN32masm编译器 ,请给我发一个,急用,多谢了!! 关于应用程序中文字符显示问题 P2P BT 高手请进 视频加速 原理 算法讨论 VC2005中如何自定义消息
{
CDataSource db;
CSession session;
HRESULT hr; CCommand<CDynamicAccessor> cmd; CDBPropSet dbinit(DBPROPSET_DBINIT);
dbinit.AddProperty(DBPROP_AUTH_PASSWORD, "");
dbinit.AddProperty(DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO, false);
dbinit.AddProperty(DBPROP_AUTH_USERID, "sa");
dbinit.AddProperty(DBPROP_INIT_CATALOG, "PEAK");
dbinit.AddProperty(DBPROP_INIT_DATASOURCE, "WQ");
dbinit.AddProperty(DBPROP_INIT_LCID, (long)2052);
dbinit.AddProperty(DBPROP_INIT_PROMPT, (short)4); hr = db.OpenWithServiceComponents("SQLOLEDB.1", &dbinit);
if (FAILED(hr))
return hr; hr = session.Open(db);
if (FAILED(hr))
return hr; CDBPropSet propset(DBPROPSET_ROWSET);
propset.AddProperty(DBPROP_CANFETCHBACKWARDS, true);
propset.AddProperty(DBPROP_IRowsetScroll, true);
propset.AddProperty(DBPROP_IRowsetChange, true);
propset.AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE ); hr = CCommand<CAccessor<CConsume_VSource> >::Open(session, "SELECT * FROM dbo.Consume_VSource", &propset);
if (FAILED(hr))
return hr; return MoveNext();
}
hr = db.OpenWithServiceComponents("SQLOLEDB.1", &dbinit);
hr返回是负数.
能否问个问题,为什么右键直接新建的会这样?
try
catch.不明白,期待楼下解决。