|
參考:點擊打開鏈接 _ConnectionPtr pConnection = NULL; pConnection.CreateInstance(_uuidof(Connection));pConnection->Mode = adModeUnknown; pConnection->ConnectionTimeout = 5; pConnection->CommandTimeout = 5; HRESULT hr = pConnection->Open("Provider=OraOLEDB.Oracle;Persist Security Info=True;User ID=sys;DataSource=\"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.5.49)(PORT = 1521)) )(CONNECT_DATA = (SID =huaneng)))\"", "test", "huangjiapeng",NULL); if (SUCCEEDED(hr)) { AfxMessageBox("連接數(shù)據(jù)庫成功!"); } //查詢數(shù)據(jù)庫 //執(zhí)行命令 _RecordsetPtr pRecordset = NULL; pRecordset.CreateInstance(_uuidof(Recordset)); hr = pRecordset->Open(_T("select * from person"), pConnection.GetInterfacePtr(), adOpenDynamic,adLockOptimistic, adCmdText); if(SUCCEEDED(hr)) { AfxMessageBox("查詢成功"); } else if(FAILED(hr)) { AfxMessageBox("查詢失敗"); } try { // 寫入各字段值 CString m_Name = "hello"; CString m_Age = "98"; pRecordset->AddNew(); pRecordset->PutCollect("NAME", _variant_t(m_Name)); pRecordset->PutCollect("AGE", atol(m_Age)); pRecordset->Update(); AfxMessageBox("插入成功!"); //pRecordset->MoveFirst(); } catch (_com_error *e) { AfxMessageBox(e->ErrorMessage()); } try { // 假設(shè)刪除第二條記錄 pRecordset->MoveFirst(); pRecordset->Move(1); // 從0開始 pRecordset->Delete(adAffectCurrent); // 參數(shù)adAffectCurrent為刪除當前記錄 pRecordset->Update(); AfxMessageBox("刪除成功!"); } catch (_com_error *e) { AfxMessageBox("異常發(fā)生!"); AfxMessageBox(e->ErrorMessage()); } //遍歷結(jié)果集 pRecordset->MoveFirst(); while(!pRecordset->adoEOF) { _variant_t var = pRecordset->Fields->GetItem("AGE")->Value;//username //結(jié)果有待處理 AfxMessageBox((_bstr_t)var); pRecordset->MoveNext(); } //關(guān)閉查詢器 if(pRecordset->State) { pRecordset->Close(); pRecordset = NULL; } //關(guān)閉數(shù)據(jù)庫連接 if(pConnection->State) { pConnection->Close(); pConnection = NULL; } AfxMessageBox("添加成功"); } catch(_com_error &e) { AfxMessageBox(e.ErrorMessage()); } |
|
|
來自: 行走在理想邊緣 > 《數(shù)據(jù)庫》