Q&A

  • Re: 테이블에 데이터 추가가 되지를 않습니다.
제가 보기엔 if not ( Table1.State in [dsEdit, dsInsert] ) then Table1.Edit; 란

부분이 걸리네요.. 현 상태가 Insert, Edit 상태가 아니라면 Edit? 그리고 바로 Append?

현재 Table1의 상태가 어떤지 몰르지만 Table1.Edit란 부분이 먹혀 버리고

Table1.Append; 란 부분을 실행하면 에러가 나겠죠?



이렇게 해보세요.



if not ( Table1.State in [dsEdit, dsInsert] ) then

Table1.Edit; <= 이 부분에 Break



라고 하신뒤 Table1.Edit란 부분에 Break를 걸고 해보세요..

그 부분이 걸리는지 안걸리는지..





아니면 님이 조건은 잘못 주신거 같은데..



if not ( Table1.State in [dsEdit, dsInsert] ) then

Table1.Edit

else <= 이 부분이 빠졌던거 아닌가요?

Table1.Append; (저는 state를 안써봐서 동작원리를 몰릅니당.. ^^;)



이도 저도 아니라면 죄송합니다.



꾸뻑~





김현영 wrote:

> 밑의 소스에서 데이타가 추가가 되지를 않습니다.

> Table1.Append; 문구가 들어가면 그이상은 명령이 진행(?)이되지를 않고

> 제일밑의 end;로 넘어가는것 같습니다.

> 테스트를 하기위해 Table1.Append;를 지우면 끝까지 진행이 되는것 같습니다.

> 데이터가 왜 추가가 되지를 않는지 답변좀 부탁드립니다.

> =========================================================================

>

> procedure TForm2.Edit5KeyPress(Sender: TObject; var Key: Char);

>

> begin

> If Key = #13 Then

> Begin

>

> If IDYes = Application.MessageBox( '저장 하겟습니까?', '저장확인', MB_YESNO + MB_DEFBUTTON1 + MB_ICONEXCLAMATION + MB_APPLMODAL ) then

> Begin

> if not ( Table1.State in [dsEdit, dsInsert] ) then Table1.Edit;

>

> Table1.Append;// <***************** 문제점

>

> Table1.FieldByName('주민등록번호').AsString := Form2.MaskEdit1.Text;

> Table1.FieldByName('이름').AsString := Form2.Edit2.Text;

> Table1.FieldByName('주소').AsString := Form2.Edit4.Text;

> Table1.FieldByName('메모').AsString := Form2.Edit5.Text;

> Table1.FieldByName('연락처').AsString := Form2.MaskEdit2.Text;

> Table1.FieldByName('휴대폰').AsString := Form2.MaskEdit3.Text;

>

> Table1.Post;

>

> Form2.MaskEdit1.Text :='';

> Form2.Edit1.Text :='';

> Form2.Edit2.Text :='';

> Form2.Edit3.Text :='';

> Form2.Edit4.Text :='';

> Form2.Edit5.Text :='';

>

> Form2.MaskEdit1.SetFocus;

> {두번째 문자 위치로 커서를 보낸다}

> Form2.MaskEdit1.SelStart := 0;

> {문자를 선택하지 않은 상태로 만든다}

> Form2.MaskEdit1.SelLength := 16;

> Key := #0;

> end;

> end;

> end;

0  COMMENTS