主题:SQL2000问题求教!!!!!!!!!!!!
123194527
[专家分:50] 发布于 2006-07-17 15:04:00
为何我用VC的ADO访问数据库,都可以查询了,但一添加记录就有致命错误,我打开数据库是设置的
pApp->m_pRecordset->Open("select * from Home1",
pApp->m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
按理说应该可以添加删除!!!!!!请高手指教
回复列表 (共6个回复)
沙发
wangsdong [专家分:21390] 发布于 2006-07-17 16:09:00
提示是什么样的错误?
http://www.programfan.com/blog/article.asp?id=15520
这是ado链接access数据库的,里面有添加、删除,你参考一下。
板凳
123194527 [专家分:50] 发布于 2006-07-17 16:23:00
其他环节都没问题,一调用记录集对象的AddNew()方法时就出错误提示,提示就是你的程序出了错误;但是我查询就没问题,真搞不明白,我本来用的是SQL2000,现在换成了Access数据库,结果还是一样,晕了
3 楼
123194527 [专家分:50] 发布于 2006-07-17 16:57:00
我测试时,经过Updata()方法时,就是在更新时,居然提示和Kernel32.dll
有关系,搞不明白了
4 楼
wangsdong [专家分:21390] 发布于 2006-07-17 17:27:00
没有遇到过这样的错误。
5 楼
123194527 [专家分:50] 发布于 2006-07-17 20:39:00
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection)); //连接子串指针
_RecordsetPtr pRst(__uuidof(Recordset));//创建记录集对象
pConn->ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Home";
pConn->Open("","","",adConnectUnspecified);//以同步方式打开数据库
pRst->Open("select * from Home1",_variant_t((IDispatch*)pConn),
adOpenDynamic,adLockOptimistic,adCmdText);
CString str="san";
pRst->AddNew();
//pRst->PutCollect("姓名",_variant_t(str));
pRst->Update();
pRst->Close();
pConn->Close();
pRst.Release();
pConn.Release();
CoUninitialize();//用完COM后释放
这是我专门写的测试程序,请高手帮我看下到底那里有错误,我实在是看不出来
还是查询绝对没问题,但是一添加记录就出问题
6 楼
123194527 [专家分:50] 发布于 2006-07-17 22:44:00
解决了一些问题,但是现在又出新问题了,我用Access测试成功,但是用sql2000就不行,请问是不是数据库权限问题,但是我修改了表的权限,还是没用,请高手指点
我来回复