Q&A

  • Commit된 Data가 DBGrid에 보여지질 않아요...
안녕하세요 아래와 같이 query1.CommitUpdates하게 되면

DB상에는 입력이 되어 있는데 문제는 DBGrid상에서는 보여지지 않는다는 겁니다.

자동증가형 필드를 키로 가지고 있는 테이블에서 데이타를 입력하고 쿼리를 커밋시켰을때

자동생성된 키값을 알아낼 수 없을까요?

아울러 DB에는 자동증가 되어있는데 왜 그리드에서는 요지부동 자동생성된 키값이 보여지지 않나요?

그렇다고 늘 쿼리를 닫았다가 열어주는 짓(?)을 항상 할 수도 없고...

혹시 몰라 쿼리의 AutoRefresh나 Fields프로퍼티의 AutoGenerateValue 값도 변경시켜 보았지만

아무런 반응도 없네요...

AutoRefresh 나 AutoGenerateValue 프로퍼티가 하는 기능에 대해서도 알고싶습니다.

아시는분 답변 주시면 정말 감사하겠습니다.



참고로 C/S 이고 SQLserver사용하며 쿼리의 CashUpdate와 UpdateSQL컴포넌트를 사용해 입력수정 삭제하고 있습니다.





// DB 테이블

Create table Table1

(

Code integer identity not null, <- 자동증가형으로 지정했습니다.

Name varchar(20) not null,

constraint pk_Table1_Code primary key(Code)

)





// 저장버튼클릭

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

if query1.UpdatesPending then

begin

query1.ApplyUpdates; // Code는 자동증가형 필드라 Name만 입력하고 커밋 시켜보면

query1.CommitUpdates; // DB에는 Code가 입력되어 있지만 query1.Fieldbyname('Code').asinteger 값을 디버깅해보면 늘 0 으로 되어져 있습니다.

// 물론 그리드에는 생성되어져 보이질 않습니다.

//query1.close;

//query1.open; // 쿼리를 닫았다가 열어주면 정상적으로 코드값이 보여지거든요...

end;

end;







3  COMMENTS
  • Profile
    바부이니 2001.10.25 20:07
    TQuery콤퍼넌트의 프로퍼티를 보면 이런게 하나 있져?

    AutoRefresh...

    이거 True하세여.

  • Profile
    초보의비애 2001.10.24 02:37
    초보 wrote:

    > 안녕하세요 아래와 같이 query1.CommitUpdates하게 되면

    > DB상에는 입력이 되어 있는데 문제는 DBGrid상에서는 보여지지 않는다는 겁니다.

    > 자동증가형 필드를 키로 가지고 있는 테이블에서 데이타를 입력하고 쿼리를 커밋시켰을때

    > 자동생성된 키값을 알아낼 수 없을까요?

    > 아울러 DB에는 자동증가 되어있는데 왜 그리드에서는 요지부동 자동생성된 키값이 보여지지 않나요?

    > 그렇다고 늘 쿼리를 닫았다가 열어주는 짓(?)을 항상 할 수도 없고...

    > 혹시 몰라 쿼리의 AutoRefresh나 Fields프로퍼티의 AutoGenerateValue 값도 변경시켜 보았지만

    > 아무런 반응도 없네요...

    > AutoRefresh 나 AutoGenerateValue 프로퍼티가 하는 기능에 대해서도 알고싶습니다.

    > 아시는분 답변 주시면 정말 감사하겠습니다.

    >

    > 참고로 C/S 이고 SQLserver사용하며 쿼리의 CashUpdate와 UpdateSQL컴포넌트를 사용해 입력수정 삭제하고 있습니다.

    >

    >

    > // DB 테이블

    > Create table Table1

    > (

    > Code integer identity not null, <- 자동증가형으로 지정했습니다.

    > Name varchar(20) not null,

    > constraint pk_Table1_Code primary key(Code)

    > )

    >

    >

    > // 저장버튼클릭

    > procedure TForm1.SpeedButton1Click(Sender: TObject);

    > begin

    > if query1.UpdatesPending then

    > begin

    > query1.ApplyUpdates; // Code는 자동증가형 필드라 Name만 입력하고 커밋 시켜보면

    > query1.CommitUpdates; // DB에는 Code가 입력되어 있지만 query1.Fieldbyname('Code').asinteger 값을 디버깅해보면 늘 0 으로 되어져 있습니다.

    > // 물론 그리드에는 생성되어져 보이질 않습니다.

    > //query1.close;

    > //query1.open; // 쿼리를 닫았다가 열어주면 정상적으로 코드값이 보여지거든요...

    > end;

    > end;

    >

    >

    >





    DBGrid.Update를 해보심이........

  • Profile
    초보 2001.10.24 03:10
    해보니까 그래도 안되는데요...

    물론 query1.Fieldbyname('Code').asinteger 는 0 이네요... 쩝.

    DBGrid.Update 또는 DBGrid.Refresh 다 안됨...



    초보의비애 wrote:

    > 초보 wrote:

    > > 안녕하세요 아래와 같이 query1.CommitUpdates하게 되면

    > > DB상에는 입력이 되어 있는데 문제는 DBGrid상에서는 보여지지 않는다는 겁니다.

    > > 자동증가형 필드를 키로 가지고 있는 테이블에서 데이타를 입력하고 쿼리를 커밋시켰을때

    > > 자동생성된 키값을 알아낼 수 없을까요?

    > > 아울러 DB에는 자동증가 되어있는데 왜 그리드에서는 요지부동 자동생성된 키값이 보여지지 않나요?

    > > 그렇다고 늘 쿼리를 닫았다가 열어주는 짓(?)을 항상 할 수도 없고...

    > > 혹시 몰라 쿼리의 AutoRefresh나 Fields프로퍼티의 AutoGenerateValue 값도 변경시켜 보았지만

    > > 아무런 반응도 없네요...

    > > AutoRefresh 나 AutoGenerateValue 프로퍼티가 하는 기능에 대해서도 알고싶습니다.

    > > 아시는분 답변 주시면 정말 감사하겠습니다.

    > >

    > > 참고로 C/S 이고 SQLserver사용하며 쿼리의 CashUpdate와 UpdateSQL컴포넌트를 사용해 입력수정 삭제하고 있습니다.

    > >

    > >

    > > // DB 테이블

    > > Create table Table1

    > > (

    > > Code integer identity not null, <- 자동증가형으로 지정했습니다.

    > > Name varchar(20) not null,

    > > constraint pk_Table1_Code primary key(Code)

    > > )

    > >

    > >

    > > // 저장버튼클릭

    > > procedure TForm1.SpeedButton1Click(Sender: TObject);

    > > begin

    > > if query1.UpdatesPending then

    > > begin

    > > query1.ApplyUpdates; // Code는 자동증가형 필드라 Name만 입력하고 커밋 시켜보면

    > > query1.CommitUpdates; // DB에는 Code가 입력되어 있지만 query1.Fieldbyname('Code').asinteger 값을 디버깅해보면 늘 0 으로 되어져 있습니다.

    > > // 물론 그리드에는 생성되어져 보이질 않습니다.

    > > //query1.close;

    > > //query1.open; // 쿼리를 닫았다가 열어주면 정상적으로 코드값이 보여지거든요...

    > > end;

    > > end;

    > >

    > >

    > >

    >

    >

    > DBGrid.Update를 해보심이........

    • 바부이니
      2001.10.24 19:20
      델파이를 실행시킬때 뜨는건지 언제 뜨는지 알려주세요. 저두 전에 그런 경험이 몇번있었는데...물론 저는...
    • Tarzan
      2001.10.24 22:16
      감사 합니다. 저는 처음에는 컴파일 시켰을때 뜨더군요.그런후에는 계속 떠요. 그래서 win2000을 깔고 거...
    • 라스트
    • 2001.10.24 02:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2001.10.25 00:40
      저도 이 컴포넌트 많이 사용했는데 전혀 그런 현상이 없는데요... 간단히 테스트 한번 해보세요. u...
    • 강인규
      2001.10.24 07:21
      Data형을 멀로 선언하셨죠? Char로 선언하시면 공백이 따라오는게 정상이구요.. vChar로 선언하시면 ...
    • 궁금이
      2001.10.26 03:22
      답변 감사합니다. 말씀대로 테이블을 새로 만들어서 시험해 봤는데 잘 됩니다. 하지만 기존의 필드타입을...
    • irookie
    • 2001.10.24 01:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2001.10.30 05:52
      regsvr32 하셔도 되지만. NT이면 MTS에 올리시고.. 2000이면 COM+에 등록해서 하세요 irookie wrote:...
    • irookie
      2001.10.24 01:59
      델마당에서 답변을 주셨습니다. iis 중지후 다시 시작을 하니 되네요. 그럼, 20000 -------- i...
    • Ziker
      2001.11.07 22:10
      참고하시라고 이렇게 글 하나 더 답니다. iis죽이고 살렸다 죽이고 살렸다하는 방법이 번거럽기때문에 ...
    • 초보
    • 2001.10.24 00:55
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 바부이니
      2001.10.25 20:07
      TQuery콤퍼넌트의 프로퍼티를 보면 이런게 하나 있져? AutoRefresh... 이거 True하세여.
    • 초보의비애
      2001.10.24 02:37
      초보 wrote: > 안녕하세요 아래와 같이 query1.CommitUpdates하게 되면 > DB상에는 입력이 되어 있는데 ...
    • 초보
      2001.10.24 03:10
      해보니까 그래도 안되는데요... 물론 query1.Fieldbyname('Code').asinteger 는 0 이네요... 쩝. DBGrid...
    • 정광호
    • 2001.10.24 00:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.10.24 03:27
      안녕하세요. 최용일입니다. 뭔가 잘못알고 계신거 같네요... 변수를 선언한다고 해서 절대 그 변수가...
    • 정광호
      2001.10.24 10:05
      최용일 wrote: > 안녕하세요. 최용일입니다. > > 뭔가 잘못알고 계신거 같네요... > > 변수를 선언...
    • 최용일
      2001.10.24 19:49
      전역변수는 0으로 초기화가 되는군요... 원문중에서 a single global variable 란 구문이 좀 의문이 가...
    • 최용일
      2001.10.24 00:37
      안녕하세요. 최용일입니다... 델파이 Demos폴더에 예제가 있는데 그거 보시면 충분히 하실 수 있습니다....
    • 델초짜임다......
      2001.11.02 04:20
      님아 죄송합니다... 답변 글구 고맙습니다..... 저번에도 님이 저의 답변 해 주셨죠??? 헤헤헤헤 감사...
    • P주임
    • 2001.10.23 23:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2001.10.23 23:23
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초짜
    • 2001.10.23 22:35
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 뻐록이
    • 2001.10.23 21:10
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2001.10.23 21:44
      안녕하세요. 최용일입니다. 아래와 같이 해보세요... Params.TargetFileName := 'C:MSSQL7Binnscm.ex...
    • ^^;
      2001.10.23 22:43
      최용일님 정말 감사합니다 용일님 소스보고 한건데 이것까지도 용일님이 답변을 해 주네요 정말 감사...
    • 김남주
    • 2001.10.23 20:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • aparadin
      2001.10.23 21:06
      김남주 wrote: > 내폼안에 외부프로그램을(예를 들어서 제가 만든 메모장 프로그램) 같은 프로그램을 > ...
    • 나그네
    • 2001.10.23 20:09
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 조규춘
      2001.10.23 21:40
      나그네 wrote: > 델파이로 I.E 에 제가 원하는 band를 추가하고 그 위에 toolbutton을 생성하고 싶은데 ...
    • 최용일
      2001.10.23 21:49
      규춘님 반가워요.. 정말 오래간만이네요... 잘 지내고 있는지... 정미님도 잘 지내시죠? 조규춘 w...
    • 조규춘
      2001.10.23 21:54
      최용일 wrote: > 규춘님 반가워요.. > > 정말 오래간만이네요... 잘 지내고 있는지... > > 정미님도...
    • 최용일
      2001.10.23 21:56
      헉~ 진짜 정곡을 찔렸네요... ㅠ'ㅠ... 조만간 하게 되겠죠... 행복하다니...넘 부럽네요... 조규...
    • 김대희
    • 2001.10.23 19:24
    • 2 COMMENTS
    • /
    • 0 LIKES
    • P주임
      2001.10.23 23:56
      앞에 코딩을 안하더라도 스프리드 그리드 프로그램에서요 그 옵션을 잘 확인해보세요 Genenal 제너럴 옵...
    • 조규춘
      2001.10.23 21:43
      김대희 wrote: > 델파이 유지보수작업 하는 초보입니다. > 스트링그리드 2 칼럼에 하나의 칼럼을 추가해...
    • ^^
    • 2001.10.23 19:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ^^
      2001.10.24 01:38
      ^^ wrote: > win 2000, 델파이 5.0 > > 어떤 기능을 수행하면 자동으로 프로그램을 재시작하려고 합니...