|
:
: 실험을 하면서 받는 데이타들을 프로그램의 특정파일(ex.data.dat)에 저장하고
: 동시에 이 데이타들을 데이타베이스를 아용하여 저장하고 싶습니다.
: 그래서 Alias가 BCDEMOS인 Table 파일(ex,aaa.db)을 만들었습니다.
: 그런데 이 aaa.db로 data.dat파일의 내용을 어떻게 저장하는질 모르겠어요.
: 직접 입력한다는 것은 데이타가 넘 많아 정말 불가능합니다.
: 그런데 책들을 찾아봐도 기존의 db파일을 TDBGrid를 이용하여 불러들이는
: 경우가 대부분이더군요 T.T
:
: 제가 생각한 것처럼 만들려면 어떻해야 하는 거죠?
: 이 방법이 불가능하다면 필드와 프로그램에서 쓰이는 변수를 대응시켜
: 데이탈 저장할 순 있나요? 예를 들면, 변수의 값을 aaa.db의 필드에 저장하는..
:
: 소스가 혹시라도 있담 정말 좋구요, 참고할수 있는 사이트를 추천해 주셔도
: 좋습니다.
:
: 꼭 부탁드립니다.
:
:
//////////////////////////////////////////////////////////////////////////////
안녕하세요..지니입니다.
실험을 하면서 받는 데이타라면 외부장치로 부터 입력받는 데이타인 모양이죠?
프로그램의 특정화일로 저장할 수 있으면 DB화일로도 저장할 수 있죠.
이미 데이타 화일이 있는 상태에서 DB화일로 저장하고 싶으신지,
아니면 데이타 화일로 저장함과 동시에 DB화일로도 저장하고 싶으신지
잘 모르겠지만, 두가지 다 가능합니다.
우선 데이타 화일이 존재할 경우는 일정한 포맷으로 저장했을거라 생각됩니다.
그 포맷은 소영님이 더 잘 아시겠죠.
그럼 화일을 오픈시켜서 화일의 처음부터 마지막까지 루프를 돌면서 한줄 한줄 DB화일에
저장하면 됩니다.
예를들어..데이타포맷이 Name(char),Inputdate(date),Value(int)로 되어있고,
그리고 DB의 필드도 같은 이름으로 되어있다고 가정할때..
char buf[128];
화일오픈.
while(화일의 마지막이 아닐때까지)
{
buf = 한줄을 읽어온다.
buf를 포맷에 따라 잘라서 변수에 저장한다.(Name,Inputdate,Value)로 저장한다.
//테이블 컴포넌트를 쓸경우..
Table1->Append();
Table1->FieldByName("Name")->AsString = Name;
Table1->FieldByName("Inputdate")->AsDate = Inputdate;
Table1->FieldByName("Value")->AsInteger = Value;
Table1->Post();
//또는 쿼리컴포넌트를 써서 (Insert Into쿼리문을 작성해도 됩니다.);
}
화일클로즈.
그리고 데이타를 외부장치로 부터 입력받아서 화일로 저장한다면, 화일로 저장할때
일정한 형식으로 저장하겠죠. 그럼 거기서 원하시는 형태로 데이타를 잘라서 DB에 저장하면
됩니다.
예를들면..
char buf[128];
buf = 외부장치로 부터 데이타를 입력받는다.
위에서 처럼 buf를(Name,Inputdate,Value로) 분리합니다.
화일저장
//저장코드 입력
DB저장
//테이블 컴포넌트를 쓸경우..
Table1->Append();
Table1->FieldByName("Name")->AsString = Name;
Table1->FieldByName("Inputdate")->AsDate = Inputdate;
Table1->FieldByName("Value")->AsInteger = Value;
Table1->Post();
//또는 쿼리컴포넌트를 써서 (Insert Into쿼리문을 작성해도 됩니다.);
그럼..잘 되길 빌며...
|