首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

vc sql2000 连接数据库失败! Unknown error 0x800A0CC1,该如何解决

2012-12-15 
vcsql2000 连接数据库失败! Unknown error 0x800A0CC1连接数据库失败!错误信息:Unknown error 0x800A0CC1h

vc sql2000 连接数据库失败! Unknown error 0x800A0CC1
连接数据库失败!
错误信息:Unknown error 0x800A0CC1


http://bbs.csdn.net/topics/30156411
这显然是一个错误号而不是错误的地址。

msdn的解释如下:Item cannot be found in the collection corresponding to the requested name or ordinal.

见http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdaenumdm_2.asp

对于ado不是很熟,在往下就不知道了。 

代码

sql="select * from test";
m_pRecordset = m_AdoConn.GetRecordSet((_bstr_t)sql);

try 
{
m_pRecordset-> AddNew();  
m_pRecordset-> PutCollect( "ID ",   _variant_t("1")); 
m_pRecordset-> Update(); 
}catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
} catch(_com_error e)///捕捉异常 

CString errormessage; 
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage()); 
AfxMessageBox(errormessage);///显示错误信息 



执行到 m_pRecordset-> PutCollect( "ID ",   _variant_t("1")); 
报错

什么原因啊?

[最优解释]
ID列名是否正确。
[其他解释]
sql="select * from test";
m_pRecordset = m_AdoConn.GetRecordSet((_bstr_t)sql);
取没取出来东东很值得怀疑啊
[其他解释]
ID列名是正确。。。。
[其他解释]
sql="select * from test";
m_pRecordset = m_AdoConn.GetRecordSet((_bstr_t)sql);
取没取出来东东很值得怀疑啊 

作用是 选择到test表,要给该表添加新记录
[其他解释]
直接用_CommandPtr去执行条插入语句不就行了?你这么弄我觉得明显是给得到的数据集里面添加,和给数据表添加完全两码事吧?
[其他解释]
"select * from test",sqlserver是这么选择表的?我怎么觉得是select 、use
[其他解释]
用m_pRecordset-> PutCollect( "ID ",   _variant_t("1"));为什么实现不了
[其他解释]

引用:
用m_pRecordset-> PutCollect( "ID ",   _variant_t("1"));为什么实现不了

这又不是往你的表里面插的吧?
[其他解释]
m_pRecordset-> PutCollect( "ID ",   _variant_t("1"));插到test表
[其他解释]
m_pRecordset->CursorLocation = adUseClient;  
m_pRecordset->Open("select * from test",                // 查询表中所有字段
       m_AdoConn.GetInterfacePtr(),  // 获取库接库的IDispatch指针
       adOpenDynamic,
       adLockOptimistic,
       adCmdText);
m_pRecordset-> MoveFirst();
m_pRecordset->Requery(adOptionUnspecified);
m_pRecordset-> AddNew();  
m_pRecordset-> PutCollect( "ID ",   _variant_t("1")); 
m_pRecordset-> Update(); 

[其他解释]
error C2039: 'GetInterfacePtr' : is not a member of 'ADOConn'
[其他解释]
try 
{
m_pRecordset-> AddNew();  
m_pRecordset-> PutCollect( "ID ",   _variant_t("1")); 
m_pRecordset-> Update(); 
} catch(_com_error *e)

m_pRecordset-> PutCollect( "ID ",   _variant_t("1")); 
改为
m_pRecordset-> PutCollect( "ID",   _variant_t("1"));  ID里面不能有空格
 
[其他解释]
谢谢hfz8867879、 oyljerry、大家,结贴给分 

热点排行