Query 콤포넌트와 DBGrid콤포넌트를 사용하여
자료를 조회한 후 ( SQL문은 프로그램 실행 중 생성함)
DBGrid에서 임시적인 컬럼을 생성하여 임시 컬럼을 Editing
할 수 있는지요 ?
단 임시로 생성하는 컬럼은 DB의 테이블과 무관하여야 하며
(VB, PB, SQL_WINDOWS는 가능함)
SQL문은 프로그램 실행시 동적으로 생성 시켰습니다.
SQL:
select a.a1, a.a2, b.b1, b.b2 ===> 컬럼 4개
from tab a left outer jion tab b
on b.b1 = a.b1
where a.a1 like "X%";
DBGrid:
header <= a1 a2 b1 b2 Temp
1 행자료 a1010 AAAA a1010 CCCC ----
2 행자료 a1020 BBBB a1020 DDDD ----
Q: Temp 컬럼에 자료를 입력할 수 있을 까요?
DBGrid에서 컬럼Edit를 이용하면 화면에 임시적인 컬럼이 생성은
되나 Edit가 되지 않더라구요 ...
> Query 콤포넌트와 DBGrid콤포넌트를 사용하여
> 자료를 조회한 후 ( SQL문은 프로그램 실행 중 생성함)
> DBGrid에서 임시적인 컬럼을 생성하여 임시 컬럼을 Editing
> 할 수 있는지요 ?
> 단 임시로 생성하는 컬럼은 DB의 테이블과 무관하여야 하며
> (VB, PB, SQL_WINDOWS는 가능함)
> SQL문은 프로그램 실행시 동적으로 생성 시켰습니다.
>
> SQL:
> select a.a1, a.a2, b.b1, b.b2 ===> 컬럼 4개
> from tab a left outer jion tab b
> on b.b1 = a.b1
> where a.a1 like "X%";
>
> DBGrid:
> header <= a1 a2 b1 b2 Temp
> 1 행자료 a1010 AAAA a1010 CCCC ----
> 2 행자료 a1020 BBBB a1020 DDDD ----
>
>
> Q: Temp 컬럼에 자료를 입력할 수 있을 까요?
>
> DBGrid에서 컬럼Edit를 이용하면 화면에 임시적인 컬럼이 생성은
> 되나 Edit가 되지 않더라구요 ...
>
VB, PB, SQL_WINDOWS에서 가능한데 델파이에서 할수 없다면 자존심 문제지요.
DBGrid의 컬럼Edit를 사용하시면 안됩니다.
DBGrid의 모든 컬럼을 삭제하고 Query에서 Select시 임의 컬럼(Field)를 만드시면 원하는 결과를 얻을 수 있습니다.
어떤 DataBase를 사용하느냐에 따라 표현방법은 틀리겠지만 제가아는 파라독스와 SQL Server를 예로 들겠습니다.
파라독스의경우
SQL:
select a.a1, a.a2, b.b1, b.b2 , ' ' temp
from tab a left outer jion tab b
on b.b1 = a.b1
where a.a1 like "X%";
공백의 개수는 문자열의 길이만큼, 변환함수가 있었으면 좋겠는데 파라독스를 잘 모르기 때문에 위 방법을 사용하였음.
MS-SQL Server
SQL:
select a.a1, a.a2, b.b1, b.b2 , temp = CONVERT(CHAR(10),'')
from tab a left outer jion tab b
on b.b1 = a.b1
where a.a1 like "X%";
위와 같이 하면 DBGrid에 Temp컬럼이 만들어지고 편집가능합니다.
다른 방법도 있을겁니다. 제가 모를뿐이지요.