连ADO,错在哪????~~~``

wandou999 2004-10-15 10:27:11
http://community.csdn.net/Expert/topic/3450/3450090.xml?temp=.2066614
-----------------------------------------------------------------------
在class CHotel_MIS1App : public CWinApp中加入
public:
bool ADOExecute(_RecordsetPtr &ADOSet,_variant_t &strSQL);
_RecordsetPtr m_pADOSet;
int m_iLoginCount;
CString m_sCurrentUser;
CHotel_MIS1App();
extern CHotel_MIS1App theApp;
private:
_ConnectionPtr ADOConn;

在stdafx.h中加入:
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace\
rename("EOF","EndOfFile")\
rename("LockTypeEnum","newLockTypeEnum")\
rename("DataTypeEnum","newDataTypeEnum")\
rename("FieldAttributeEnum","newFieldAttributeEnum")\
rename("EditModeEnum","newEditModeEnum")\
rename("RecordStatusEnum","newRecordStatusEnum")\
rename("ParameterDirectionEnum","newParameterDirectionEnum")

在BOOL CHotel_MIS1App::InitInstance()加入
m_iLoginCount=0;
if(FAILED(::CoInitialize(NULL)))
{
AfxMessageBox("ADO Init failed");
return false;
}
try
{
ADOConn.CreateInstance(__uuidof(Connection));
ADOConn->Open("DNS=Hotel_MIS1;Provider=MSDASQL","sa","",adConnectUnspecified);
}
catch(_com_error &e)
{
CString err;
err.Format("%s",(char*)(e.Description()));
AfxMessageBox(err);
}
catch(...)
{
AfxMessageBox("Unknown Error");
}
m_pADOSet.CreateInstance(__uuidof(Recordset));
在bool CHotel_MIS1App::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
中加入
if(ADOSet->State==adStateOpen)ADOSet->Close();
try
{
ADOSet->Open(strSQL,ADOConn.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdUnknown);
return true;
}
catch(_com_error &e)
{
CString err;
err.Format("ADO Error:%s",(char*)e.Description());
AfxMessageBox(err);
return false;
}
在int CHotel_MIS1App::ExitInstance() 中加入
if(adStateOpen==ADOConn->State) ADOConn->Close();
ADOConn.Release();
if(adStateOpen==m_pADOSet->State)m_pADOSet->Close();
m_pADOSet.Release();
return CWinApp::ExitInstance();

这就是全部内容,麻烦大家了!!
...全文
503 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
bugyouth 2004-11-23
  • 打赏
  • 举报
回复
注意OleInitialize函数在InitInstance函数中的位置,靠后一些
rezood 2004-11-23
  • 打赏
  • 举报
回复
老问题了
李秀国之印 2004-11-10
  • 打赏
  • 举报
回复
to try it: gooyan(超级替补)
zhaogaojian 2004-11-10
  • 打赏
  • 举报
回复
先通过控制面板配置一下
gooyan 2004-10-25
  • 打赏
  • 举报
回复
1.stdafx.h中加入
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
2。app文件的InitInstance中加入
if(S_OK!=OleInitialize(NULL))
{
AfxMessageBox("初始化COM组件库错误");
}


下面就是数据库操作
_ConnectionPtr pConn;
_RecordsetPtr pRs;
CString strSQL;
pConn.CreateInstance(__uuidof(Connection));
pConn->CursorLocation=adUseClient;
strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
pConn->Open(_bstr_t(strSQL),"","",-1);

pRs.CreateInstance(__uuidof(Recordset));
pRs->CursorLocation=adUseClient;
pRs->PutActiveConnection(pConn.GetInterfacePtr());

pRs1.CreateInstance(__uuidof(Recordset));
pRs1->CursorLocation=adUseClient;
pRs1->PutActiveConnection(pConn.GetInterfacePtr());

strSQL="select * from catalog order by cataid";
pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);
追求自由 2004-10-22
  • 打赏
  • 举报
回复
你连一下别的数据库看能不能连上?
你别用odbc,直连一下看能否成功,我的问题就是这样解决的。
danielzhu 2004-10-21
  • 打赏
  • 举报
回复
UP
shakira008 2004-10-20
  • 打赏
  • 举报
回复
study
muliu92 2004-10-19
  • 打赏
  • 举报
回复
Connection 这个好象是 ADO.Connection 吧!

而且CreateInstance 它的返回值也不是一个bool\BOOL 啊! 不是良好的变成习惯
jayfunk 2004-10-19
  • 打赏
  • 举报
回复
你把!号后边的东东()起来看看
sony19791015 2004-10-19
  • 打赏
  • 举报
回复
gz
nanguadeng 2004-10-19
  • 打赏
  • 举报
回复
AppWizard中选上Automation
wenxinfly 2004-10-19
  • 打赏
  • 举报
回复
借楼主的问一个
if(!m_pConnection.CreateInstance(__uuidof(Connection))) //
{
AfxMessageBox("Error!");
//
}
这个函数有错误
是什么原因?
kugou123 2004-10-18
  • 打赏
  • 举报
回复
贴贴出错信息看看。
快乐鹦鹉 2004-10-15
  • 打赏
  • 举报
回复
放在BOOL CHotel_MIS1App::InitInstance()里面啊
快乐鹦鹉 2004-10-15
  • 打赏
  • 举报
回复
if (!AfxOleInit())
{
AfxMessageBox("初始化OLE失败!");
return FALSE;
}
clack234 2004-10-15
  • 打赏
  • 举报
回复
错误信息或错误提示代码贴出来看看。
内存泄漏 2004-10-15
  • 打赏
  • 举报
回复
代码没有问题啊。。不知道为什么会出现你那样的情况,是不是你import的路径错了??

还有,在int CHotel_MIS1App::ExitInstance() 里面添加下面一句:
::CoUninitialize();
MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。

4,017

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧