디비그리드와 쿼리, 데이타소스를 가지고 고객관리플그램 만들려구 합니다.
디비그리드 목록에서 하나를 선택하면 내용들이 edit 박스들에 나타납니다.
입력이나 수정버튼을 누르면 모두 사라져서 깨끗해집니다.
입력하고나서 다시 입력이나 수정버튼을 누르면 그때 디비작업을합니다.
1> 그런데 입력이나 수정버튼을 눌렀다가 다시 디비그리드에 있는 목록을
선택하면 상세내용이 edit박스에 나타나질 않습니다.
2> 자료을 입력하고 테이블에 insert 시키려고 할때
'ORA-00942 테이블 또는 뷰가 존재하지 않습니다.'라는 메세지가 뜹니다.
3> 테이블 내용을 수정하려고 할때
Table is read only 라는 메세지가 뜹니다.
그런데 다시 실행시켜보면 수정은 되어 있습니다.
Query의 RequestLive도 true 인데... 왜그런건지 좀 알려주세요.....
1) Insert나 Edit 모드에서.. 다른 행위가 있을때...Dataset 은 post 기능을 수행합니다. (사용자는 모르겠죠?)
이때는 취소로 간주하시고, Cancel 을 이용하세요.
그래서 중요한게 save 버튼을 두시고, post 해주는것이 올바른 방법입니다.
그러나 DBGrid를 사용하여 DBgrid 안에서 수정하고 다른레코드로 변경하였을경우에는 Post 가 자동으로 되기 때문에 save 버튼이 있으나마나가 됩니다.
따라서 올바른 데이타가 들어가지 않은상태에서 post 될경우 에러가 나는것은
당연합니다.
2) 말그대로 테이블이 지정이 안된듯합니다. 또는 Databasename 설정이 안된경우입니다
3) 이같은경우는 테이블을 두개이상 조인(Join)하거나, 특수 함수를 써서. 원 데이타를 흐트리는경우입니다. 이럴경우에는 RequestLive를 하셔도
수정이나, 삽입, 삭제의 행위를 할수 없습니다.