CRecordset 함수와 데이터 삽입과 삭제 검색 예제
CRecordset :: MoveFirst() -데이터베이스의 맨 처음 레코드로 이동
CRecordset :: MoveLast() -데이터베이스의 맨 마지막 레코드로 이동
CRecordset :: MoveNext() –데이터베이스의 다음 레코드로 이동
CRecordset :: MovePrev() –데이터베이스의 이전 래코드로 이동
CRecordset :: IsBOF() –데이터베이스의 처음인가를 알고자 할때
CRecordset :: IsEOF() –데이터베이스의 마지막인가를 알고자 할때
CRecordset :: AddNew() –데이터베이스에 새로운 레코드를 설정할 때
CRecordset :: Delete() –현재 설정된 레코드를 살제할 때
CRecordset :: Edit() –현재 레코드를 수정할 수 있는 상태로 놓을 때
CRecordset :: Open() –데이터베이스를 연다.
CRecordset :: Close() –데이터베이스를 닫는다.
CRecordset :: m_strFilter – SQL문을 이용한 필터 만들기
CRecordset :: m_strSort –데이터 레코드를 특정 방식으로 sorting
CRecordset :: Update –현재 레코드를 데이터베이스에 업데이트한다
위의 SQL문장들은 m_pSet->Close()를 실행시킨 다음에 문장을
설정하고 m_pSet->Open()으로 개방해 주어야 한다.
(또는 m_pSet->Requery() )
만약 닫지 않고 위의 문장을 설정하면 치명적 에러를 리턴하면서 프로그램 종료된다.
* 레코드 삽입 삭제 예제
void CDAOview::OnRecordAdd
{
m_pSet->MoveLast();
m_pSet->AddNew();
UpdateData(TRUE);
m_pSet->Update();
m_pSet->MoveLast();
}
void CDAView::OnRecordDataDelete()
{
m_pSet->Delete();
m_pSet->MoveNext();
if(m_pSet->IsEOF())
{
m_pSet->MoveLast();
}
UpdateData(TRUE);
}
* 레코드 검색
m_pSet->Close();
m_pSet->m_strFilter= 검색식; //SQL의 where문
m_pSet->Open();
(예) m_pSet->m_strFilter.Format (“Name = '%s' and Age = %d",
rhs2, rhs );
만약 검색식을 취소하고 모든 레코드를 다 검색하고자 한다면
m_strFilter에 “ “, 즉 널 스트링을 대입해 주면 된다.
'테크노트 > 기타' 카테고리의 다른 글
두대의 컴퓨터에서 하나의 키보드와 마우스를? - 가상 KVM Synergy (0) | 2007.03.24 |
---|---|
나만의 복구영역 만들기(IBM Rescue & Recovery활용) (0) | 2007.03.24 |
Multiplicative Congurential Random Number Generator (0) | 2006.11.01 |
마이크로소프트 플랫폼 SDK 설치 (Microsoft Platform SDK install) (0) | 2006.10.13 |
객체지향 이야기 #1 (0) | 2006.10.06 |