Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[12688] DBEdit컨트롤에 트리거 연결하기에 대해
박태성 [] 1516 읽음    2009-05-31 14:54
파이어버드 2.1과 델파이 7로 간단한 디비프로그램 짜는걸 연습중입니다.

지금 연습중인게 간단한 회원테이블이 있고
(회원ID는 not null 제약을 주고 gen_id로 자동증가된 값을 넣어주게끔 트리거도 걸어주었습니다)

델파이 폼에서 델파이폼에서 디비네비게이터와 DBEdit 컴포넌트를 내려놓고 제우스컴포넌트(6버전)와 연결시켜
회원 입력 수정 삭제하는 간단한 프로그램입니다. 수정, 삭제는 잘 되는데 신규입력시 에러가 납니다.
메시지내용을 봐서는 ID필드가 필수인데 널값이 넘어와서 저장을 할수 없다는 말인것 같습니다.

id가 자동증가값이므로 필드에 아무값도 넣지 않고 저장버튼을 눌렀습니다.(id값을 입력하는 DBEdit컨트롤을
없애도 해봐도 마찬가지이고 DBEdit에 임의 값을 넣고 저장을 누르면 제대로 저장이 됩니다-물론 테이블을
직접보고 회원id중 중복되지 않는 제일 큰 정수값을 넣어주었습니다)

혹시 트리거가 제대로 작동하지 않아서 그런가 싶어서 IBConsole상에서 insert into 구문으로 값을 저장하면
제대로 작동을 하더군요

트리거 구문을 보면 id값이 Null이면 gen_id함수를 통해 값을 받아와서 테이블에 입력하게 하는거라서
DBEdit컨트롤에는 값을 안넣어주는게 맞는거 같은데 어떻게 해야할지를 모르겠습니다.

이질문을 코드웨이 게시판에 남겼었는데 Lyn님이 댓글로 DBEdit에 트리거를 연결해 보라고 하시는데
여기 저기 속성값을 보면 해당하는 항목이 없는것 같네요. 어떻게 연결해야하는지 좀 아시는분 계시면
알려주시면 감사하겠습니다.
(이벤트에 코드로 작성해야 하는건지 그렇게 하는게 답이라면 데이타베이스에 굳이 트리거를 만들어주는
의미가 없어지는것 같은데 참 헷갈리네요. 그리고 류종택님 동영상강좌에서 보면 BDE와 파라독스를
이용해서 만드는 간단한 디비프로그램에서는 자동증가값이 바로 DBEdit컨트롤에 나타나는것 같던데
파이어버드는 안되는건지도 궁금합니다)

델파이 지식도 많이 짧고 영어실력도 많이 짧아 제대로 된 참고문서를 찾기가 힘드네요
알려주시면 감사하겠습니다.

+ -

관련 글 리스트
12688 DBEdit컨트롤에 트리거 연결하기에 대해 박태성 1516 2009/05/31
12698     Re:DBEdit컨트롤에 트리거 연결하기에 대해 하얀까마귀 1581 2009/06/08
12785         해결되었습니다. 박태성 1201 2009/07/16
12700         Re:Re:DBEdit컨트롤에 트리거 연결하기에 대해 박태성 1369 2009/06/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.