안녕하십니까? 전봉수 입니다.
파라독스를 사용하다가 네트워크로 프로그램을 돌리려고 파이어버드를 사용하여
IBQUERY로 프로그램을 하려니 너무힘드네요.
일단 파이어버드 2.1버전을 깔아서 인터베이스로 알리아스를 설정하여 FDB를
만들고 테이블도 만들었습니다.
아래 소스는 파라독스에서는 잘 돌아가던것인데 컴파일이 안됩니다.
Q1.DATABASENAME := 'EQUIP'; 를 제외하면 컴파일은 되는데 코드 에디터에
추가를 선택하여 문자를 넣으면 데이터베이스가 없다고 나옵니다.
사용환경 Winxp Ddelphi7.0
// 등록된 자료 보여주기 함수
PROCEDURE TFEQ2001_F.GET_Code_DATA(sFEQ_CODE: STRING);
VAR
Q1: TIBQUERY;
BEGIN
IF MODETYPE IN [mNone] THEN
EXIT;
Q1:=TIBQUERY.CREATE(SELF);
Q1.DATABASENAME := 'EQUIP'; //<- 여기서 멈춤
Q1.SQL.CLEAR;
Q1.SQL.ADD(' SELECT A.* , B.PART_NM FROM TF_EQM_STD A,TF_PART B '+
' WHERE A.PART_CD = B.PART_CD AND FEQ_CODE = '''+sFEQ_CODE+'''');
Q1.OPEN;
ED_FEQ_NM.Text :=Q1.FIELDBYNAME('FEQ_NM').Asstring; // 기기명
ED_FEQ_DV.TEXT :=Q1.FIELDBYNAME('FEQ_DV').Asstring; // 장비분류
ED_PART_CD.TEXT :=Q1.FIELDBYNAME('PART_CD').Asstring; // 부서코드
ED_SPL_LC.TEXT :=Q1.FIELDBYNAME('SPL_LC').Asstring; // 공급장소
ED_MAK_NO.Text :=Q1.FIELDBYNAME('MAK_NO').Asstring; // 제조번호
ED_MET_COMP.Text :=Q1.FIELDBYNAME('MET_COMP').Asstring; // 제작회사
ED_ESBH_LC.Text :=Q1.FIELDBYNAME('ESBH_LC').Asstring; // 설치장소
ME_ESBH_YR.Text :=Q1.FIELDBYNAME('ESBH_YR').Asstring; // 설치년도
ED_FEQ_FORM.Text :=Q1.FIELDBYNAME('FEQ_FORM').Asstring; // 형식
ED_FEQ_Qty.TEXT :=Q1.FIELDBYNAME('FEQ_Qty').ASString; // 수량
//ED_FEQ_QTY.TEXT :=FORMATFLOAT('#,##0',IBQ_FEQ_REG.FIELDBYNAME('FEQ_QTY').ASFLOAT); // 수량
FEQ_STD.LINES.Text:=Q1.FIELDBYNAME('FEQ_STD').ASSTRING; // 제원
Q1.CLOSE;
Q1.FREE;
END;
dbe컴포넌트에 세션이란 컴포넌트 있구요...
거기에서 자동(auto) 할당을 설정하시면 해결될듯 합니다..
데이타베이스를 찾을 수 없다는 에러하고도 같은거네요