- 注册
- 2002-10-12
- 消息
- 47,114
- 荣誉分数
- 2,376
- 声望点数
- 393
第一次用ADO,有不少不懂得地方,希望大家帮忙
Q1:
我想知道能否在每次调用这个ExecuteSQL结束的时候
都清理一下recordset呢?
有啥函数可以调用呢
或者我需要每一次调用都生成一个instance,然后使用结束以后再摧毁掉
ADO1.5 / VC++6.0
Q1:
HRESULT ExecuteSQL(const wchar_t* szUnicodeString)
{
HRESULT hr;
hr = recordset->Open(szUnicodeString,
connection.GetInterfacePtr(),
ADODB::adOpenForwardOnly,
ADODB::adLockReadOnly,
ADODB::adCmdText);
return hr;
}
wchar_t* pStatement;
pStatement = L"select * from userdata WHERE userid = 1";
if (ExecuteSQL(pStatement) == S_OK)
printf("select successuful\n");
else
printf("select failed\n");
我想知道能否在每次调用这个ExecuteSQL结束的时候
都清理一下recordset呢?
有啥函数可以调用呢
或者我需要每一次调用都生成一个instance,然后使用结束以后再摧毁掉
代码:
HRESULT ExecuteSQL(const wchar_t* szUnicodeString)
{
ADODB::_RecordsetPtr recordset;
HRESULT hr;
recordset.CreateInstance(__uuidof(ADODB::Recordset));
hr = recordset->Open(szUnicodeString,
connection.GetInterfacePtr(),
ADODB::adOpenForwardOnly,
ADODB::adLockReadOnly,
ADODB::adCmdText);
.........
//do something with the selected data from SQL
.........
recordset->Close();
recordset->Release();
recordset = NULL;
return hr;
}