while table1.locate('id_key',i,[]) do inc(i); with table1 do begin append; fieldbyname('id_key').asinteger:=i; post; end; 여러 멋진 고수님들 id_key값을 찾을 방법 좀 가르쳐 주세요.DBASE4사용하고 있어요 또 인덱스의 정확한 ...
감초
•
2001.04.12 01:16
첫째 : 아래 코드는 하는 일이 없읍니다. 왜냐하면 어느 테이블에서 그 값을 가진 레코드를 찾아서 다시 ...
심지현
•
2001.04.12 01:44
감초 wrote:
> 첫째 : 아래 코드는 하는 일이 없읍니다. 왜냐하면 어느 테이블에서 그 값을 가진 레코드...
권민호
•
2001.04.12 00:22
심지현 wrote:
> while table1.locate('id_key',i,[]) do
> inc(i);
> with table1 do
> begin
> appe...
인덱스는 그냥 만들어만 놓으면 그 인덱스를 필요로 할때 자동으로 사용되지요.(Oricle은 좀 다르지만).
가령 어느 학교에서 학생들 자료를 모두 입력해놓고 학생 이름으로 인덱스를 만들어 놓으면 학생 이름으로 찾는 쿼리를 할때 자동으로 빨라 집니다.
간혹 component에서 index이름을 지정해서 사용케 하는 경우도 있지만.
아래 코드의 경우에는 만약 id_key라는 필드에 이미 고유값들이 들어가 있을 경우
table.locate('id_key', i, []); 만 했을경우에 id_key필드에 i값을 지닌 레코드로 이동하란 뜻입니다. 그래서 이 문장을 while안에 조건으로 사용하는 것은 의미가 없읍니다.
제 생각인데 아마도 모든 테이블에 id_key필드에 고유값을 입력시키시려고 했던거 같은데
그럴 경우라면 이렇게 하십시요.
table.first;
while not table.eof do begin
table.edit;
table.fieldbyname('id_key').value := i;
table.post;
inc(i);
table.next;
end;
심지현 wrote:
> while table1.locate('id_key',i,[]) do
> inc(i);
> with table1 do
> begin
> append;
> fieldbyname('id_key').asinteger:=i;
> post;
> end;
>
> 여러 멋진 고수님들 id_key값을 찾을 방법 좀 가르쳐 주세요.DBASE4사용하고 있어요
> 또 인덱스의 정확한 활용법 좀 부탁드립니다. 멀고도 험한 델파이의 길을
> 조금만 인도해 주세요.. ^.^
>