제 코딩방법은
SQL.CLEAR;
SQL.ADD('SELECT A, B FROM TBL ');
SQL.ADD('WHERE(B = ''%'변수명'%'' ');
TEMP := FIELDBYNAME('A').ASSTRING;
IF PREPARED = FALSE THEN PREPARE
OPEN
아.. 쿼리는 WITH문으로 묶었고요
이렇게해서 돌리니까 A를 찾을 수 없다고 나옵니다.
그런데 위의 것 그대로 SQL로 돌리니까 한개의 결과가 나오거던요
SELECT A, B FROM TBL WHERE (B='1111');
A B
AAA 1111
델파이에서 돌린게 아니고 SQLPLUS로 직접한건데... 결과가 하나 나옵니다.
흠.. 제가 뭘 잘못한건지... 변수로 받아와야하는데 ㅜㅜ
Query 결과값을 변수에 대입하는 것은 이렇습니다.
varField1 := Query.FieldByName('A').AsString;
varField2 := Query.FieldByName('B').AsString;
이렇게 하시는 것이 컬럼의 순서가 변경되도 문제없이 사용할 수 있는
방법입니다.
그럼...
왕초보 wrote:
> 제 코딩방법은
>
> SQL.CLEAR;
> SQL.ADD('SELECT A, B FROM TBL ');
> SQL.ADD('WHERE(B = ''%'변수명'%'' ');
> TEMP := FIELDBYNAME('A').ASSTRING;
> IF PREPARED = FALSE THEN PREPARE
> OPEN
>
> 아.. 쿼리는 WITH문으로 묶었고요
> 이렇게해서 돌리니까 A를 찾을 수 없다고 나옵니다.
> 그런데 위의 것 그대로 SQL로 돌리니까 한개의 결과가 나오거던요
> SELECT A, B FROM TBL WHERE (B='1111');
> A B
> AAA 1111
>
> 델파이에서 돌린게 아니고 SQLPLUS로 직접한건데... 결과가 하나 나옵니다.
> 흠.. 제가 뭘 잘못한건지... 변수로 받아와야하는데 ㅜㅜ
>
>
>
>