블로그 이미지
blueye

카테고리

내블로그 (52)
창작활동 (10)
저장활동 (16)
관심 (0)
Total
Today
Yesterday

'2008/06'에 해당되는 글 3건

  1. 2008.06.30 CRecordset Class
  2. 2008.06.26 ODBC를 사용해서 C++과 Access 연동시키기
  3. 2008.06.05 Ubuntu에서 eclipse 실행 오류

CRecordset Class

저장활동 / 2008. 6. 30. 00:02


: CRecordset는 데이터베이스를 로드하고 로드된 데이터베이스의 레코드를 관리하는 클래스입니다


CRecordset에는 다음과 같은 함수들이 있습니다.

CRecordset의 함수리스트

함수명

  내용

MoveFirst

제일 처음 레코드로 이동한다.

MoveLast

마지막 레코드로 이동한다

MoveNext

다음 레코드로 이동한다

MovePrev

이전 레코드로 이동한다.

SetBookmark

현제 레코드를 북마크한다.

AddNew

세로운 필드를 만든다

Delete

핸재 레코드를 지운다

Edit

데이터베이스를 수정가능한 상태로 한다.

Update

CRecordset 에 있는 데이터 맴버들의 내용을

데이터베이스에 업데이트한다.

Requery

SQL언어에 의해서 또는 함수에 의해서 설정된것을 새롭게 query 한다.

IsEOF

현재가 파일 마지막이면 1를 리턴한다.

IsBOF

현재가 파일처음이면 1를 리턴한다.

GetRecordCount

현재 테이블의 레코드 수를 얻는다.

m_pDatabase

CDatabase 클래스형의 맴버로 실제 데이터베이스를 컨트롤 하는 클래스

m_strFilter

SQL언어를 가동시키기 위한 문자열을 저장하는 변수 이곳에 문자열을 저장하고 Requery를 실행하면 SQL언어를 실행할수 있다.



void CMExOdbcSet::DoFieldExchange(CFieldExchange* pFX)

{

       //{{AFX_FIELD_MAP(CMExOdbcSet)

       pFX->SetFieldType(CFieldExchange::outputColumn);

       RFX_Long(pFX, _T("[ID]"), m_ID);

       RFX_Text(pFX, _T("[name]"), m_name);

       RFX_Text(pFX, _T("[tel]"), m_tel);

       RFX_Text(pFX, _T("[address]"), m_address);

       RFX_Text(pFX, _T("[bigo]"), m_bigo);

       //}}AFX_FIELD_MAP

}


DoFieldExchange 함수는 필드와 맴버의 변수와 연결시키주는 기능을 합니다. RFX_Long는 필드의 long를 현재 맴버변수 m_ID와 연결을 하면 RFX_Text는 필드의 텍스트를 현재 설정되어있는 CSTring와 연결을 합니다. 대화상자와 연결하는 DoDataExchange와 비슷한 개념으로 보시면 될것입니다. 
____________________________________________________________________________________________
출처 : http://blog.naver.com/silver6688/60039667516



Posted by blueye
, |



제어판
> 관리 도구 > 데이터 원본(ODBC) 클릭합니다.


사용자
DSN 탭을 선택하시고 "추가" 버튼을 누릅니다.

드라이버 중에서 Microsoft Access Driver(*.mdb) 선택하고 "마침" 누르면 "ODBC Microsoft Access 설정"이라는 윈도우가 뜨는데, "데이터 원본 이름" "MyDB(정해주기 나름)" 입력하고(나머지는 그냥놔둬도 된다는 , ) "데이터베이스" > "선택" 눌러서 만들어 mdb 파일을 선택(미리 만들어둔 DB 경로 설정)합니다. "확인" 버튼을 누르면 ODBC 작성하신 mdb 파일이 데이터베이스로 등록됩니다.

ODBC 설정은 다른 버전의 윈도우에서는 찾아가는 경로만 다르지만 설정 방법은 동일.

다음 데이터베이스를 사용하길 원하는 VC++ 프로젝트에서(프로젝트를 상태에서) Insert > New Class 선택합니다.
클래스 종류를 MFC 클래스로 두고 베이스 클래스로 CRecordSet 설정합니다. 그러면 ODBC 선택 윈도우가 뜨는데 여기서 아까 ODBC 설정한 MyDB 선택합니다. 그러면 작성하신 mdb 파일에 있는 테이블 리스트가 올라오는데, 여기서 사용하길 원하는 테이블을 선택하면 나머지는 클래스위저드가 알아서 각각의 데이터 필드에 해당하는 멤버 변수들을 만들어 줍니다.
다만 이렇게 하면 컴파일할 오류가 발생하는데 CRecordSet 상속받은 클래스의 헤더파일 위에 #include "afxdb.h" 넣어 주면 오류 없이 컴파일됩니다.

이후에는 CRecordSet 막강한 기능을 사용하면 .


CRecordSet
사용법은 MSDN 참고

___________________________________________________________________________________________________
출처 : http://gosera.tistory.com/27




Posted by blueye
, |
우분투에서 이클립스를 실행하면 다음과 같은 메시지창이 뜨면서 안되는 경우가 있다.
An error has occurred. See the log file workspace/.metadata/.log.

이게 왜 뜨는가. 이유는 설명 안한다.
왜냐하면, 이유를 모르기 때문에. 후훗;
내가 가진 4개의 우분투 가상머신이 하루만에 다 이렇게 됐다.
그렇다면 원인은 나 때문인가 ㅋㅋㅋㅋ

해결책으로는 두 가지가 있다.

첫째,
포맷.
만병통치약이다. 모든 문제가 말끔히 해결된다.
아주 말끔해진다. 아주아주. 영원히 말끔해진다.ㅋㅋ

둘째,
안알려준다.
왜냐면 내가 포맷을 했기 때문에 ㅠㅠㅠㅠㅠㅠ
포맷 순식간이다 인생무상 신의경지를 체험하고나면 해결책이 눈에 보인다.
어떤 문제의 해결책을 알아내고 싶으면, 일단 지워라. 지우면 해결책이 생각난다 ㅋㅋㅋㅋ
이 해결책 알려주면 쓰러질 사람. 내가 아는 분 중에 또 한 분 계시다.
그분도 나처럼 한참을 고민하시다가. 결국 포맷을 했지.ㅋ

workspace/.metadata/.plugin/ 아래에 있는 모든 폴더 삭제.
이클립스 실행.
끝.
저러면 될걸 포맷을 했다. 으하하하하하하하~
ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
봉산탈춤을 추는 횟수가 요즘들어 부쩍 늘었다.
런던 대공황 패닉상태.

설치 진행 막대가 안움직인다... 30분은 족히 걸릴듯;;;;
설치로 끝이 아니다. S3. 내일 낮 12시까지 마감인데...

몰라. 짱나. 잘꺼야.

_______________________________________________________________________________________________
마지막 tip.
저처럼 포맷하신 분이 혹시라도 계시다면,
ubuntu 이미지는 다음 서버에서 받으세요. 속도가 무진장 빠르네요~ 그나마 위안이 될듯 ㅋㅋㅋ



Posted by blueye
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함