Q&A

  • dbgrid에서 임시적인 column생성 후 editing
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가 되지 않더라구요 ...



6  COMMENTS
  • Profile
    이호선 1999.04.15 05:08
    안녕하세요..

    일반 control(예: Panel)에 이미지를 실을려하는데

    어떻게해야 할지 궁금합니다.

    좋은밤 되세요.

  • Profile
    신호성 1999.06.22 21:43
    김영규 께서 말씀하시기를...

    > 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컬럼이 만들어지고 편집가능합니다.



    다른 방법도 있을겁니다. 제가 모를뿐이지요.

















  • Profile
    전철호 1999.04.20 03:56
    이호선 wrote:

    > 안녕하세요..

    > 일반 control(예: Panel)에 이미지를 실을려하는데

    > 어떻게해야 할지 궁금합니다.

    > 좋은밤 되세요.



    Panel위에 이미지 콤포넌트를 생성하는 방법이 있을 것이고

    TPanel에서 상속을 받아서

    새로운 TPanel 콤포넌트를 만드는 방법이 있습니다.



    첫번째 방법은 단지 Panel위에 생성하는 방식으로

    TImage Compoent 의 Parent 를 Panel로 지정하면 되고



    두번째 방법은 Btmap Property를 하나 만들어서

    Panel이 Paint될때 Bitmap을 다시 그리면 Panel

    위에 그림을 나타낼 수 있습니다.

  • Profile
    류동균 1999.06.22 08:08
    김영규 께서 말씀하시기를...

    > 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가 되지 않더라구요 ...

    > --------------------------

    결론부터 말씀을 드리자면 불가능합니다.

    컬럼Edit를이용해 New Field를 생성하셨나본데, 그때 생성되는 Field는

    3가지로 1.Data Field:자신의 테이블에 있는 필드, 2.Calculated Field:

    자신의 테이블에 있는 특정필드의 값을 이용하여 계산하여 넣을수 있는 필드

    (이때는 OnCalculated 이벤트에 코딩으로 값을 정해줍니다),

    3.Lookup Field:자신의 테이블에 있는 특정필드와 다른 테이블의 특정필드를

    서로 연계하여 (Key or Index를 이용하여) 다른 데이블의 필드값을 가져오는

    필드.

    그러므로 이 3가지 필드 외에는 존재하지 않으므로 테이블에 존재하지 않은

    필드에는 값을 넣을수가 없습니다.

    그래도 굳이 필요하다면 임시 테이블을 만들어서 그 임시테이블과 조인하여

    임시 테이블에 특정 필드에 값을 넣는수 밖에 없습니다.

    죄송합니다. 참고가 되었으면 좋겠습니다. 그럼 ^_^.







  • Profile
    안치봉 1999.04.15 06:12
    이호선 wrote:

    > 안녕하세요..

    > 일반 control(예: Panel)에 이미지를 실을려하는데

    > 어떻게해야 할지 궁금합니다.

    > 좋은밤 되세요.



    안녕하세요.



    2가지 방법이 있습니다.



    1.판넬위에 TImage 콤포넌트를 얻는다^^;



    2.판넬의 WM_PAINT 메세지가 발생할때 DC 를 이용해 그린다.





  • Profile
    신인재 1999.04.15 06:22
    안치봉 wrote:

    > 이호선 wrote:

    > > 안녕하세요..

    > > 일반 control(예: Panel)에 이미지를 실을려하는데

    > > 어떻게해야 할지 궁금합니다.

    > > 좋은밤 되세요.

    >

    > 안녕하세요.

    >

    > 2가지 방법이 있습니다.

    >

    > 1.판넬위에 TImage 콤포넌트를 얻는다^^;

    >

    > 2.판넬의 WM_PAINT 메세지가 발생할때 DC 를 이용해 그린다.

    >



    DC를 이용하는 방법의 참고 설명입니다.....

    var

    DC : hDC;

    begin

    DC := GetDC(Panel1.Handle);

    BitBlt ( DC, 0, 0, Panel1.Width, Panel1.Height,

    Image1.Picture.Bitmap.Canvas.Handle, 0, 0, SRCCOPY );

    ReleaseDC(Panel1.Handle, DC);

    >





    • 이동화
    • 1999.04.15 08:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.15 09:20
      이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
    • 이동화
      1999.04.15 09:39
      김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
    • 이동화
    • 1999.04.15 08:56
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.15 09:20
      이동화 wrote: > 안녕하세요! > 프린터에대해서 궁금한게 있습니다. 아니 지금 되지가 않습니다. > 프린...
    • 이동화
      1999.04.15 09:39
      김영해 wrote: > 이동화 wrote: > > 안녕하세요! > > 프린터에대해서 궁금한게 있습니다. 아니 지금 되...
    • 김영해
    • 1999.04.15 08:49
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이소라
      1999.06.22 16:42
      OLE를 사용치 않고 MS_Word를 사용하는 소스입니다. 그런데 "선언되지 않은 정체"라는 에러 메세지만 반...
    • 이정욱
      1999.04.15 10:21
      아래 작업전환을 막는것이 있습니다. 이 코드는 나이렉스의 팁 게시판에서 가져왔습니다. var Form1:...
    • 김영해
      1999.04.17 07:48
      감사합니다.이정욱님 많은 도움이 되었습니다.
    • 1999.06.22 20:26
      한승협 께서 말씀하시기를... > 안냐세여.. 초보델파이언임다. > > 저는 DBComboBox에 DataSource와 Da...
    • 이순희
    • 1999.04.15 08:34
    • 2 COMMENTS
    • /
    • 0 LIKES
    • bluepine
      1999.04.17 01:18
      이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
    • 글쎄요.
      1999.04.15 19:02
      이순희 wrote: > 안녕하세요... > 테이블에 시작시간과 끝시간에 대한 두개의 필드가 있습니다. > 두개...
    • PETER
    • 1999.06.22 08:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김영규
    • 1999.06.22 07:27
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.15 05:08
      안녕하세요.. 일반 control(예: Panel)에 이미지를 실을려하는데 어떻게해야 할지 궁금합니다. 좋은밤 ...
    • 신호성
      1999.06.22 21:43
      김영규 께서 말씀하시기를... > Query 콤포넌트와 DBGrid콤포넌트를 사용하여 > 자료를 조회한 후 ( SQL...
    • 전철호
      1999.04.20 03:56
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 류동균
      1999.06.22 08:08
      김영규 께서 말씀하시기를... > Query 콤포넌트와 DBGrid콤포넌트를 사용하여 > 자료를 조회한 후 ( SQL...
    • 안치봉
      1999.04.15 06:12
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 신인재
      1999.04.15 06:22
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
    • 조성윤
    • 1999.06.22 07:11
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 류동균
      1999.06.22 08:19
      조성윤 께서 말씀하시기를... > 또 질문 하게 되는군요 > items속성의 값을 테이블의 특정 필드에 값을 ...
    • 이호선
    • 1999.04.15 05:08
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 전철호
      1999.04.20 03:56
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 안치봉
      1999.04.15 06:12
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 신인재
      1999.04.15 06:22
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
    • 류성호
      1999.06.22 05:24
      홍희석 께서 말씀하시기를... > 전 delphi로 주로 db그리두만 이용해오다가 > 이번에 스트링 그리드를 쓰...
    • franco97
      1999.06.22 22:43
      스트링그리드의 한필드에 문자타입의 10자리 코드가 (ex: 0000012345,0000078901,...) 들어있습니다.. ...
    • 이슬
    • 1999.04.15 03:34
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김영해
      1999.04.17 08:00
      이슬 wrote: > 1. ParamByName과 FieldByName의 차이점이 무엇인지요? > > 2. 폼에 성별(남,여:radiobu...
    • 신호성
      1999.04.16 01:36
      > 2. 폼에 성별(남,여:radiobutton) 체크가 있는데, DB는 Alpha로 2자리 만들었습니다. > 근데, DBGrid에...
    • 박종모
      1999.04.15 04:44
      이슬 wrote: > 1. ParamByName과 FieldByName의 차이점이 무엇인지요? > > 2. 폼에 성별(남,여:radiobu...
    • 글쎄요
      1999.04.15 05:41
      추가로 답변합니다. 2번째 건데 답변이 잘 못된 것 같아요. 가장 좋은 방법은 DBGRID 대신에 STRINGGRID...
    • 이용민
    • 1999.06.22 04:29
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.06.22 07:54
      이용민 께서 말씀하시기를... > 안녕하세요. (주) 천의무봉의 이용민입니다. > > 1. 변수를 초기화 해...
    • 이호선
    • 1999.06.22 02:51
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 이호선
      1999.04.15 05:08
      안녕하세요.. 일반 control(예: Panel)에 이미지를 실을려하는데 어떻게해야 할지 궁금합니다. 좋은밤 ...
    • 이정욱
      1999.06.22 07:50
      나이렉스에서 구매하실 수 있습니다. 하지만 단종품목이라 기술지원을 받지는 못합니다. 사이트는 http:/...
    • 전철호
      1999.04.20 03:56
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 안치봉
      1999.04.15 06:12
      이호선 wrote: > 안녕하세요.. > 일반 control(예: Panel)에 이미지를 실을려하는데 > 어떻게해야 할지...
    • 신인재
      1999.04.15 06:22
      안치봉 wrote: > 이호선 wrote: > > 안녕하세요.. > > 일반 control(예: Panel)에 이미지를 실을려하는...
    • 강인경
    • 1999.06.22 01:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김영대
      1999.06.25 02:14
      강인경 께서 말씀하시기를... > 김영대님의 ActiveFtp에서 사용된 왼쪽화면의 버튼콤포넌트는 어디에서 구...
    • Faster
    • 1999.04.15 01:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 아무개
      1999.04.15 04:49
      안녕하세요? 델파이 Q&A는 최소한 노력을 하는 사람들이 배워가는 곳입니다. 문제를 내고, 답을 맞추는 ...