안녕하세요!~ 오늘은 날씨가 꽤 꿀꿀하네여!~ 비가오려면 확실히오던지...
날씨가 꿀꿀하던 화창하던 열심히 플밍해야겠져??
ics comp를 이용해서 c/s 플밍을 해봤는데 server가 wait하고있을때 client가 connect하면 연결이됩니다. 그런데, 이 상황에서 다른 client가 접속을 요청하면 먼저 접속한 client의 session이 종료되어버리고 다른 client가 접속되더군여!!! 이건 왜 그런가여?? 글구, 어떻게하면 여러개의 client가 한개의 server에 접속해서 동시에 데이터를 주고 받을수 있나여?? 만약에 ics comp에서 불가능하다면 다른 컴포넌트를 추천해주세요! 사용법까지알려주시면 더욱 고맙겠네여!~ 그럼, 오늘도 즐플하시고 즐거운 주말 보내세여!~~
프로그램 개발중에 잘 안되는 것이 있어
이렇게 질문을 드립니다.
현재 데이타베이스 관련 프로그램을 개발하고 있습니다.
제가 질문하고자 하는것은 마스터/디테일 관계입니다.
예를 들어 aa.db와 bb.db가 마스터/디테일 관계일때,
값의 입력시 문제가 발생합니다.
table 컴포넌트를 이용하여 화면에 각각 aa.db의 내용을
보여줄 수 있는 dbgrid1와 bb.db의 내용을 보여줄 수
있는 dbgrid2가 있으면 dbgrid1에 내용변화에 따라
dbgrid2의 내용이 변하겠지요..
근데, dbgrid1와 dbgrid2에 데이타를 추가 하려고 할때
문제가 발생합니다. aa.db에 append를 하고 dbgrid1에서
값을 넣고 , 마우스의 포커스를 dbgrid2로 옮겨 계속
값을 입력하려고 합니다.
이때 , aa.db에 post를 하지않은 상태에서 dbgrid2에
한 레코드가 아니고 여러줄의 레코드를 입력하려고 하면
key violation이 발생합니다. 제가 생각하기로는 dbgrid2,
즉 bb.db는 마스터테이블의 주키를 참조하여 값을
보여주고 하는데, 새로운 값 입력시 aa.db에 입력된
값은 아직 post가 안된 메모리상에 있는 값이라 bb.db에서
그 상태로 값을 입력하려고 하니 인식을 못하는것 같습니다.
그래서 dbgrid2에 포커스가 갈때 dbgrid1의 내용을 post하고
싶지만, 후에 값의 cancel시 값을 다시 지워야 하는 문제가
발생되네요.
다르게, dbaware컨트롤을 사용하지 않고 일반 edit같은
컨트롤을 사용하여 값이 확정될때 대입해보려고도 했지만,
필드라든가 여러가지 문제로 하지 못하게 되었습니다.
혹시라도 table컴포넌트를 이용하여, 마스터/디테일 구조에서
마스터테이블과 디테일테이블에 동시에 값을 추가하면서
그리고 디테일테이블에 연속적으로 값을 추가하고자 할때,
위와 같은 에러없이 post와 cancel를 수행할 수 있는
방법 좀 알려주세요...
/////////////////////////////////////////////////////////
그리고 두번째로, 이것도 table컴포넌트를 이용했는데......
여러개의 마스터/디테일로 이루어진 테이블들에서 필요한
필드만 추출해서 dbgrid에 보여줄 순 없는지요.
dbgrid는 특정 datasource와 연결되어서 여러 관련된
테이블의 특정 필드를 한번에 보여줄 수 없네요.....
dblookupcombobox를 쓰려고 하니 연관된 필드의 데이타가
너무 많아 너무 비효율적이라 dblookupcombox도 쓰지
못하겠고요...
query컴포넌트를 이용하지 않고 해결할 수 있는
방법 좀 부탁드립니다.
여러분들의 답변 부탁드립니다.
참, 그리고 혹시 dbgrid에서 dblookupcombobox를 쓸 때,
dblookupcomboboxdm의 값 변경시 값이 즉시 바뀌지 않고
다른 셀이나 다른 컴포넌트로 포커스가 변경되야만
값이 보여지던데, 이것의 해결 방법도 부탁드립니다.
그럼..행운이 있기를 빕니다.
해결 방법도 부탁드립니다.