[转]use wxwidgets and ado in vc.net

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

posted @ 2009-12-23 16:06  AooYu  阅读(344)  评论(0编辑  收藏  举报