问题一:在一个需要被反复频繁调用函数中有如下程序,
_RecordsetPtr pRecordset;
...
pRecordset.CreateInstance(__uuidof(Recordset));
这样创建对象的效率有多高?会不会对程序的速度有影响?
问题二:
定义类成员变量:
_RecordsetPtr m_pRecordset;
构造函数中:
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
析构函数中:
try
{
m_pRecordset->Close();
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
在类中满足某个条件时会调用一个函数,其中有:
m_pRecordset = g_pConnect->Execute(...);
但是如果条件不满足时就不会执行,也就是说程序相当于CreateInstance之后直接Close,
这时会提示:对象关闭时,操作不被允许。这是怎么回事?
问题三:
pRecordset对象是否可以CreateInstance一次之后连续使用?
比如:
pRecordset = g_pConnect->Execute(SQL语句1,...);
pRecordset = g_pConnect->Execute(SQL语句2,...);
pRecordset = g_pConnect->Execute(SQL语句3,...);
_RecordsetPtr pRecordset;
...
pRecordset.CreateInstance(__uuidof(Recordset));
这样创建对象的效率有多高?会不会对程序的速度有影响?
问题二:
定义类成员变量:
_RecordsetPtr m_pRecordset;
构造函数中:
try
{
m_pRecordset.CreateInstance(__uuidof(Recordset));
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
析构函数中:
try
{
m_pRecordset->Close();
}
catch(_com_error &e)
{
AfxMessageBox(e.Description());
}
在类中满足某个条件时会调用一个函数,其中有:
m_pRecordset = g_pConnect->Execute(...);
但是如果条件不满足时就不会执行,也就是说程序相当于CreateInstance之后直接Close,
这时会提示:对象关闭时,操作不被允许。这是怎么回事?
问题三:
pRecordset对象是否可以CreateInstance一次之后连续使用?
比如:
pRecordset = g_pConnect->Execute(SQL语句1,...);
pRecordset = g_pConnect->Execute(SQL语句2,...);
pRecordset = g_pConnect->Execute(SQL语句3,...);
if(m_pRecordset->State)
m_pRecordset->Close();
3.没问题的
m_pRecordset->Close();
应该写成if(m_pRecordset->State==宏)
有个宏定义为 已经关闭 ,你查MSDN
2,关闭后,不能再调用
3,可以反复使用的