ado 조작 액세스
먼저 하나의 종 류 를 봉 하고 다음 과 같다.
.h
class CDataSource
{
public:
void FreeData();
void InitData();
CDataSource();
virtual ~CDataSource();
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConn;
};
.cpp
CDataSource::CDataSource()
{
}
CDataSource::~CDataSource()
{
FreeData();
}
void CDataSource::InitData()
{
::CoInitialize(NULL);
m_pConn.CreateInstance("ADODB.Connection");
//
m_pRecordset.CreateInstance("ADODB.Recordset");
try
{
m_pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:1.mdb", "", "", adModeUnknown);
// m_pConn->ConnectionString="provider=SQLOLEDB.1;uid=sa;pwd=;Database=ff";
// m_pConn->Open("", "", "", adModeUnknown);
m_pRecordset->Open( "select * from zy", _variant_t((IDispatch *) m_pConn, true),adOpenStatic, adLockReadOnly, adCmdText);
}
catch(_com_error &e)
{
::AfxMessageBox(e.ErrorMessage());
}
}
void CDataSource::FreeData()
{
if (m_pConn)
{
m_pConn->Close();
m_pRecordset.Release();
m_pConn.Release();
CoUninitialize();
}
}
주 대화 상자 에 대상 만 들 기 CDataSource mds;,대화 상자 에서 일어 날 때 mds.InitData();
추가:
m_ds.m_pConn - > 실행 ( bstr t) "검색 어", NULL, adcmdText); m_ds.m_pRecordset->Requery(adCmdUnknown); 삭제:
m_ds.m_pConn - > 실행 ( bstr t) "삭제 문", NULL, adcmdText); m_ds.m_pRecordset->Requery(adCmdUnknown);
수정:
m_ds.m_pConn - > Execute (( bstr t) "수정문", NULL, adcmdText); m_ds.m_pRecordset->Requery(adCmdUnknown);
반복:
링크 가 있어 요. CListCtrl. m_list;
while (!m_ds.m_pRecordset->EndOfFile) { m_list.InsertItem(i,"sdf"); m_list.SetItemText(i,0,(LPCTSTR)(_bstr_t)m_ds.m_pRecordset->GetCollect("id")); m_list.SetItemText(i,1,(LPCTSTR)(_bstr_t)m_ds.m_pRecordset->GetCollect("name")); m_list.SetItemText(i++,2,(LPCTSTR)(_bstr_t)m_ds.m_pRecordset->GetCollect("hobby")); m_ds.m_pRecordset->MoveNext(); } m_ds.m_pRecordset->MoveFirst();
질문:
Win 7 에서 컴 파일 된 ADO 프로그램 이 저 버 전 시스템 에서 실 행 될 수 없습니다. ADO 를 만 들 때 오류 알림: 0x 80004002
다음 문장: hr1 = m pConnection. CreateInstance ( uuidof (Connection)); 해결 방법: msado 60 Backcompat. tlb 를 다운로드 하고 주 소 는 다음 과 같 습 니 다.http://download.csdn.net/detail/evsqiezi/8244221, 관련 코드 가 져 오기 수정: \ # import "msado 60 Backcompat. tlb" no namespace rename ("EOF", "EndOFFile")
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Docker를 사용한 React 및 .NET Core 6.0 샘플 프로젝트 - 1부이 기사에서는 Entity Framework Core Code First 접근 방식을 사용하는 ASP.NET Core 6.0 WEP API의 CRUD(만들기, 읽기, 업데이트 및 삭제) 작업에 대해 설명합니다. 웹 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.