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();
}
大概就是这样,总之我觉得理解了就很简单,而且用起来也方便