use wxwidgets and ado in vc.net

王朝vc·作者佚名  2006-01-09
宽屏版  字体: |||超大  

use wxwidgets and ado in vc.net 用mfc总是让人觉得别扭,

比较一下第三方的图形库,wxwidgets不错

要操作数据库,当然是用ado库

我编译好wxwidgets后,在example里找到grid的example开刀

把那些杂七杂八的东西删了

#include <comdef.h>

#import "c:\Program Files\Common Files\System\ADO\msado15.dll" rename("EOF", "EndOfFile")

using namespace ADODB;

再GridFrame::GridFrame()中添加

CoInitialize(0);

HRESULT hr;

_ConnectionPtr myConnection;

myConnection.CreateInstance(__uuidofConnection));

hr=myConnection->Open("Provider=SQLOLEDB.1;SERVER=ZZU- CZX;DATABASE=friend","sa","letmein",0);

_CommandPtr pCommand;

pCommand.CreateInstance(__uuidof(Command));

pCommand->ActiveConnection=myConnection; pCommand->CommandText="select * from t1";

_RecordsetPtr pRecordset;

pRecordset.CreateInstance(__uuidof(Recordset));

pRecordset->CursorLocation=adUseClient;

pRecordset->Open((IDispatch*)pCommand,vtMissing,adOpenStatic,adLockBatchOptimistic,adCmdUnknown);

找了个合适的地方添加

_variant_t data;

grid = new wxGrid( this,wxID_ANY,wxPoint( 0, 0 ));

grid->CreateGrid( pRecordset->GetRecordCount(), 3 );

for (int row = 0; row <>GetRows(); row++)

{

data=pRecordset->GetCollect("name");

grid->SetCellValue(row,0,(wxString)_bstr_t(data));

pRecordset->MoveNext();

}

大概就是这样,总之我觉得理解了就很简单,而且用起来也方便

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有