新手,刚做了个小程序但是只用了一次SELCET 的语句,想重复进行SQL查询,怎么解决呢?谢谢了!
解决方案 »
- 急!CWebBrowser2的使用问题。我用CWebBrowser2远程访问服务器ftp上的文件,用ftp信息拼了一个文件名传给Navigate,占用了ftp
- WIN32 如何在List Ctrl实时判断是否获得焦点
- SetROP2设置CPen没效果
- 我用程序打开了一个HTML文档,里面只有纯文本和HTML标记,怎么实现让选中某段文档居中,居左等功能?线面是我的实现思路
- InternetOpen 参数说明
- 怎样让CStatic响应键盘上的方向按键消息?
- 鱼香肉丝:谢谢你帮我看程序,不过还有一点问题想请教
- 单文档工程,分割为两个窗口,拖动分割条时如何使得每个窗口刷新?
- pc机与PLC(可编程控制器)之间的通信问题
- 怎么不行?--菜鸟的问题
- 多张声卡,如何进行切换
- boost::thread中的同步问题
//_pRecordset.CreateInstance("ADODB.Recordset");
// m_pConnection.CreateInstance("ADODB.Connection");
还都要从新做一次吗?
1。打开表
2。利用SQL语句进行查询(将数据放入控件中如:网格控件)
3。关闭。
----------
此操作可执行1-N次(N为整数)。
你一试就会!!!
_RecordsetPtr Close后再打开。
{
BOOL bSuccess = FALSE; if( lpTable == NULL || lpSqlExecute == NULL )
return E_FAIL; IADORecordBinding *picRs = NULL;
_RecordsetPtr pRs("ADODB.Recordset");//初始化记录查询
_ConnectionPtr pConn("ADODB.Connection" );//初始化记录连接
_CommandPtr pCmdChange = NULL; CString strSql,chSqlSentence; strSql = strSql +
_T("Provider=Microsoft.Jet.OLEDB.4.0;") +
_T("Data Source = ") +
m_szMdbPath +
_T(";Persist Security Info=False;Jet OLEDB:Database Password=") +
m_lpPass; try
{
pConn->Open((_bstr_t)strSql, "", "", adModeUnknown);//打开数据库
pRs->QueryInterface(
__uuidof(IADORecordBinding), (LPVOID*)&picRs); TESTHR(pCmdChange.CreateInstance(__uuidof(Command)));
pCmdChange->ActiveConnection = pConn;
pCmdChange->CommandText = lpSqlExecute; // Open titles table, casting Connection pointer to an
// IDispatch type so converted to correct type of variant.
TESTHR(pRs.CreateInstance(__uuidof(Recordset)));
pRs->Open ((_variant_t)lpTable, _variant_t((IDispatch *) pConn, true), adOpenStatic, adLockOptimistic, adCmdTable);
// Clear extraneous errors from the Errors collection.
pConn->Errors->Clear(); // Use the Connection object's execute method to
// execute SQL statement to restore data.
pConn->Execute(lpSqlExecute, NULL, adExecuteNoRecords); // Retrieve the current data by requerying the recordset.
pRs->Requery(adCmdUnknown); //pRs->Update();
pRs->Close(); bSuccess = TRUE;
}
catch (...)
{
if ( pRs != NULL )
pRs->Close(); if ( pConn != NULL )
pConn->Close(); pRs = NULL;
pConn = NULL;
return E_FAIL;
} pConn->Close();
return S_OK;
}