if database1.Connected = FALSE then
database1.Connected := TRUE;
database1.StartTransaction;
...
Database1은 데이터 모듈을 이용해 작성하고, 실행시에 Connected를 TRUE로 설정하고, keepconnection을 TRUE로 설정한 상태입니다.
근데, application 실행중에 Query를 이용하여 Insert를 하려 했더니, 저 위의if절에서 Connected 가 FALSE로 나오더군요, 그래서 그 다음행에서 Connected를 TRUE로 설정했더니
'Name not unique on this context'라는 에러가 발생합니다.
그래서,
database1.Connected := FLASE;
database1.Connected := TRUE;
이렇게 False로 했다가 True로 해도 같은 에러가 뜨는 군요.
또한, if 절을 없애고, 바로 database1.StartTransaction 을 실행시키면, Database do not Perform on Closed DataSet이라는 에러가 발생하네요..
DataModule로 작성해서 application 실행시에 Connected를 TRue로 하고, KeepConnection 을 TRUE로 설정했는데.. 왜 RunTime시에 Connected 속성이 FALSE로 나오고, 왜 이런 에러들이 발생하는지 이해가 안갑니다.
왜그런건지 조언 부탁드립니다.
즉, 만약 주민등록번호를 키필드로 하는 테이블에서, 하나의 주민등록번호가 이미 등록되어 있는데 다시 똑같은 주민등록번호로 레코드를 추가하려고 하면 발생하는 에러라는 거죠.
훈 wrote:
> if database1.Connected = FALSE then
> database1.Connected := TRUE;
>
> database1.StartTransaction;
> ...
>
>
>
> Database1은 데이터 모듈을 이용해 작성하고, 실행시에 Connected를 TRUE로 설정하고, keepconnection을 TRUE로 설정한 상태입니다.
> 근데, application 실행중에 Query를 이용하여 Insert를 하려 했더니, 저 위의if절에서 Connected 가 FALSE로 나오더군요, 그래서 그 다음행에서 Connected를 TRUE로 설정했더니
> 'Name not unique on this context'라는 에러가 발생합니다.
>
> 그래서,
> database1.Connected := FLASE;
> database1.Connected := TRUE;
> 이렇게 False로 했다가 True로 해도 같은 에러가 뜨는 군요.
>
>
> 또한, if 절을 없애고, 바로 database1.StartTransaction 을 실행시키면, Database do not Perform on Closed DataSet이라는 에러가 발생하네요..
>
> DataModule로 작성해서 application 실행시에 Connected를 TRue로 하고, KeepConnection 을 TRUE로 설정했는데.. 왜 RunTime시에 Connected 속성이 FALSE로 나오고, 왜 이런 에러들이 발생하는지 이해가 안갑니다.
>
> 왜그런건지 조언 부탁드립니다.
>