안녕하십니까? 전봉수 입니다.
DB테이블을 생성하면서 동시에 레코드에 필드 내용을 입력되독록 해야하는데요
아래 소스코드처럼 하면 컴파일 무난하게되고 테이블도 이상없이 생성됩니다.
그러나 막상 테이블 내용을 보면 필드 내용이 입력이 안되어 있습니다.
무엇이 잘못되었는지 고수님들 좀 살펴주시면 고맙겠습니다.
제가 원하는 답변은?
+----------+------------+----------------+--------+-------------+
MCODE | NAME1 | DATE1 | JUKI1 | TINE1 |
+----------+------------+----------------+--------+-------------+
MECH01 | 점검항목 | 2009-01-01 | 1 | 09:00:00 |
+----------+------------+----------------+--------+-------------+
테이블 생성시 위처럼 필드 내용 1줄이 이미 입력이 되도록 하는것 입니다.
운영체제 WINXP P.R.O 델파이 6.0 DB는 파라독스
= 소스코드 =
procedure TJabevntForm.MechtbClick(Sender: TObject);
VAR
Q1: TQUERY;
begin
// PRIMARY INDEX FILE 및 관련 INDEX FILE 삭제하기
IF FILEEXISTS(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\Mechevnt.PX') THEN
BEGIN
DELETEFILE(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\Mechevnt.PX');
DELETEFILE(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\Mechevnt.XGO');
DELETEFILE(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\Mechevnt.YGO');
END;
// ITEM TABLE CREATE 하기
Q1:=TQUERY.CREATE(SELF);
Q1.DATABASENAME:=ALIASNAME;
Q1.SQL.CLEAR;
Q1.SQL.ADD('CREATE TABLE "Mechevnt.DB" ');
//-----------------------------------------------------------------------------------------------------
Q1.SQL.ADD(' ( '); 요부분
Q1.SQL.ADD(' Mcode VARCHAR(7) DEFAULT ''MECH001)'','); // 코드
Q1.SQL.ADD(' NAME1 VARCHAR(30) DEFAULT ''점검항목'', '); // 점검항목
Q1.SQL.ADD(' Date1 VARCHAR(10) DEFAULT ''2009-01-01'', '); // 마지막 A/s일지
Q1.SQL.ADD(' Juki1 VARCHAR(2) DEFAULT ''1'', '); // 점검주기
Q1.SQL.ADD(' Time1 VARCHAR(8) DEFAULT ''09:00:00'', '); // 다음 A/S시간
//-----------------------------------------------------------------------------------------------------
Q1.SQL.ADD(' PRIMARY KEY(Mcode) ');
Q1.SQL.ADD(' ) ');
TRY
Q1.ExecSQL;
EXCEPT
APPLICATION.MESSAGEBOX('기계 장비 점검주기 테이블 생성도중 에러발생!!!',
'알림',MB_OK+MB_ICONINFORMATION);
Q1.Close;
Q1.Free;
EXIT;
END;
Q1.Close;
// INDEX FILE CREATE 하기
Q1.SQL.CLEAR;
Q1.SQL.ADD('CREATE INDEX MechevntX1 ON "Mechevnt.DB"(NAME1,Mcode)');
TRY
Q1.ExecSQL;
EXCEPT
DELETEFILE(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\Mechevnt.DB');
DELETEFILE(EXTRACTFILEPATH(APPLICATION.EXENAME)+'DATA\Mechevnt.PX');
APPLICATION.MESSAGEBOX('기계 장비 점검주기 테이블 인덱스 생성도중 에러발생!!!',
'알림',MB_OK+MB_ICONINFORMATION);
Q1.Close;
Q1.Free;
EXIT;
END;
Q1.Close;
Q1.FREE;
Mechtb.ENABLED:=FALSE;
ALLTB.ENABLED :=FALSE;
end;