
DBASE에서 레코드를 삭제하는 함수인 dbase_delete_record()는 레코드를 삭제하지만 인덱스를 삭제하지는 않습니다.
레코드의 인덱스를 삭제하려면 dbase_renumber() 함수를 사용하여 인덱스를 재정렬해야 합니다.
다음은 레코드를 삭제한 후 인덱스를 삭제하는 코드입니다.
#hostingforum.kr
python
import dbase
db = dbase.open("example.dbf", dbase.dbase_III)
dbase_delete_record(db, 1)
dbase_renumber(db)
db.close()
다음은 레코드를 삭제한 후 인덱스를 재정렬하는 코드입니다.
#hostingforum.kr
python
import dbase
db = dbase.open("example.dbf", dbase.dbase_III)
dbase_delete_record(db, 1)
dbase_renumber(db)
db.close()
단, dbase_renumber() 함수는 모든 레코드의 인덱스를 재정렬하므로, 레코드가 삭제된 경우에도 인덱스를 재정렬합니다.
만약 레코드가 삭제된 경우 인덱스를 재정렬하지 않으려면, 삭제된 레코드의 인덱스만 제거해야 합니다.
다음은 삭제된 레코드의 인덱스를 제거하는 코드입니다.
#hostingforum.kr
python
import dbase
db = dbase.open("example.dbf", dbase.dbase_III)
dbase_delete_record(db, 1)
dbase_renumber(db, delete_index=1)
db.close()
위 코드는 dbase_renumber() 함수의 delete_index 매개변수를 사용하여 삭제된 레코드의 인덱스를 제거합니다.
이러한 방법으로 레코드를 삭제한 후 인덱스를 삭제하거나 재정렬할 수 있습니다.
2025-03-26 06:23