|
안녕하세요..
솔직하게 말씀드리면..
정확한 .. 질문의 요지를 파악할 수가 없습니다.
DBGrid에서 직접 수정을 가하는 경우는 Table과 서로 바로 연결이 되어 있으면 가능합니다.
그런데. 테이블이 하나인 경우는.. 별로 상관이 없겠지만.
여러개의 Key로 연결되어 있는 테이블인 경우에는.. 매우 불편합니다.
Grid에서 수정을 가하지 않고..
1.
그냥 일반적인 TEdit를 사용하셔서 질의를 통한 테이블 수정
2.
Grid의 Click의 이벤트나.. 또는 DblClick의 이벤트를 이용하셔서
새로운.. 폼으로 해당 자료를 수정할 수 있게 하는 인터페이스나..
여러 가지를 생각하시는 것이 더 쉬울 듯 합니다.
테이블이 하나인 경우는 간단하지 않으면 매우 비효율성(?- 기준이 애매 모호하지만..)이고요
그리고..
제일 중요한 것은 DBGrid는 일반적인 StringGrid와 차원이 틀립니다.
그냥.. DataSource와 연결된 DataSet의 자료를 화면으로.. 보이게 하는 것만 가지고 있고.
수정, 삭제, 삽입.. 작업은 아주 신중하게..
생각하시고.. 해야 합니다.
각 필드의 참조무결성이나.. 또는.. 각 필드의 제약조건..
데이터베이스에 말하는.. 큰 개괄적인 개념은 충분하게 다 반영하는 것은 아니라도..
처음 부터.. 지킬 것을. 지키는 것이..
차후.. 큰 프로그램에 계획된 진행이라고 생각합니다.
개인적인 견해입니다..(절대 오해하지 마세요)
DBGrid에서 수정, 삭제, 삽입 .....은 바로 실행하지 마세요.. ( 정말.. 이것 때문에.. 예전에.. 매우 고민했습니다. )
물론, DBEdit도 마찬가지입니다.
수수께끼 님이 쓰신 글 :
: dbgrid 와 dbnavigator 컴포넌트가 있습니다.
:
: 이때 네비게이터의 편집 버튼을 누르면 dbgrig의 레포드포인터 모양이 바뀌면서 dbgrid 셀의 내용을 바꿀수가 있죠?
:
: 근데 이때, 편집버튼을 누른 상태에서 다른 레코드를 선택하면 레코드포인터의 모양이 원래대로 바껴 버리네요.
:
: 레코드포인터의 원래 모양은 세모모양이고 편집모드일때 모양은 ][ <-- 이런모양인데 말이죠.
:
: 이걸 해결하기 위해 제가 생각한게 편집모드일때, 즉 네비게이터의 편집버튼을 누르면 dbgrid에서 다른 레코드를 클릭해도 레코드포인터의 위치가 변하지 않는 기능을 추가하는겁니다.
:
: 근데 이게 통 감이 잡히지 않네요.
:
: 이거 혹시 아시는분 계신가요?
|