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

下面的代码含义是什么呢?不理解,求教,该怎么解决

2012-06-02 
下面的代码含义是什么呢?不理解,求教C/C++ codevoid ADOConn::OnInitADOConn(){::CoInitialize(NULL)//初

下面的代码含义是什么呢?不理解,求教

C/C++ code
void ADOConn::OnInitADOConn()                                   {    ::CoInitialize(NULL);                                  //初始化Com口    try    {       m_pConnection.CreateInstance("ADODB.Connection");       _bstr_t strConnect="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=vcaa;Data Source=.";       m_pConnection->Open(strConnect,"","",adModeUnknown);    }                                                             //    @_1    我的理解是,如果连接信息不对,就进行catch捕获异常并提示,可不可以说,如果没有这里的try catch ,该方法如果只是初始化Com口,依然可以正常运行的,而实际不行,如果没有这段代码,会产生内存泄露的错误啊,那么这里的内存错误是由什么产生的呢?    catch(_com_error e)    {        AfxMessageBox(e.Description());    }}BOOL ADOConn::ExecuteSQL(_bstr_t bstrSQL){    _variant_t RecordsAffected; @_2 //这语句有什么用呢,不好意思,书中看到的,不明白    try    {        if(m_pConnection==NULL)             OnInitADOConn();   @_3 //这里进行初始化调用,什么时候需要执行该语句呢?        m_pConnection->Execute(bstrSQL,NULL,adCmdText);   @_4   //这句的作用呢?        return true;    }    catch(_com_error e)    {        e.Description();        return false;    }}


  我想搞明白:
  1.OnInitADOConn()的目的是什么?也就是说这个函数干了什么事啊。
  2.见 @_1 
  3.见 @_2
  4.见 @_3 
  5.见 @_4 
  呵呵,一个问题15分,还有20分,见者有份,谢谢啦


[解决办法]
1、.OnInitADOConn()这个函数目的是:连接数据库
2、try{}中如果连接数据库成功,则不会产生异常。若连接失败会捕获异常。
3、这句没看到在哪用,不知道做什么的...
4、if(m_pConnection==NULL)这句说明如果没有连接数据库的话要调用OnInitADOConn()连接数据库。
5、使用Execute方法操作数据表,bstrSQL为要执行SQL语句。
[解决办法]
连接数据库,并执行sql语句
[解决办法]
连接数据库,并执行sql语句
捕获异常,防止程序崩溃~

[解决办法]
连接数据库,捕获异常后弹出错误提示。

这个用的是ADO,基于COM的,你可以看一些相关资料,很多东西不是一个贴就能说懂的。
[解决办法]
1.OnInitADOConn()的目的是什么?也就是说这个函数干了什么事啊。
-------------------------
连接数据库啊,你要执行sql语句 当然要先连接数据库

[解决办法]
1:OnInitADOConn()
这个函数 里面先用Open连接到目标数据库 什么情况有异常出现呢?
连接失败了,或者网络不通了,或者数据库不存在
就会扑捉到COM的异常 然后把Description(错误的具体信息。。)MessageBox

2:
3:_variant_t RecordsAffected;//只是初始化一个变量。写代码的人没用到而已
像这样:Execute(bstrSQL,&RecordsAffected,adCmdText); //只是接收一个返回值什么的、。
4:什么时候用还要问啊?你想什么时候连接数据库 就什么时候用啊。。。
5:执行SQL语句
[解决办法]
1.OnInitADOConn()的目的是什么?也就是说这个函数干了什么事啊。
初始化数据库连接,每一个ADO的SQL的操作都依赖于一个_ConnectionPtr对象。

2.如果有错误,说明可能数据库没有成功连接。或者初始化

3.
_variant_t RecordsAffected
这一句的意思是,声明了一个_variant_t类型的 变量,这个变量用于保存SQL语句被执行后,比如update,或者delete,或者insert语句影响的记录数,一般是认为long型,_variant_t类型可以包括long型。

4 当调用ExecuteSQL前,COM环境和数据库连接没有创建时,被调用。;
5.执行一个SQL语句

热点排行