怎样删除类型文件的数据?(200分)

  • 主题发起人 主题发起人 scorpions
  • 开始时间 开始时间
S

scorpions

Unregistered / Unconfirmed
GUEST, unregistred user!
添加数据如下,怎样删除数据呢?
Ttest=packed record
id:string[10];
name:string[20];
end;

var
test:Ttest;
TestFile:file of Ttest;
begin
Assignfile(testfile,'test.dat');
reset(testfile);
seek(testfile,filesize(testfile));
write(testfile,test);
closefile(testfile);
end;
我的程序是呼叫中心坐席组管理监控程序,要把所有呼叫记录保存到文件里。
所以记录很多,读数据库太慢所以要用文件(数据库和文件都用)。
但不知怎么删除文件中的记录。用paradox合适吗?
不知大家还有什么好建议???
 
还是用数据库比较好,
用文件是历史的倒退,用户保存记录不可能比数据库快
没有索引,只能从头到尾一条一条的读,怎么可能快
 
paradox文件有大小限制吗?
 
文件数据的确好,只是操作不方便而已
关注
 
首先,如果主要是顺序写数据,而读取数据时可以根据某种算法直接定位到指定的记录,
那么使用文件是合理的.如果需要经常在文件中间位置插入或删除记录,速度定然很慢.
在文件中删除记录,得自己写代码实现,思路是将被删除记录之后的所有记录复制到被
删除记录的位置,然后从文件最后n条记录开始处截断文件,n是删除的记录数.
 
可以将所有记录读到一个数组或者表中,从数组或者表将要删除的记录删除,然后再把数
组或者表中的其它记录写到文件中
 
paradox数据库有大小限制的,而且容易坏,用sql server吧,比较稳定。

要想读写记录快,一定要加索引
 
如果是日志文件的话,用文件是没有问题的。对于删除操作,你可以只是打上一个删除
标记就行了。
如果有频繁的更新,插入操作的话,用文件肯定不是个好办法,还是用桌面数据库吧!
Paradox,Access,Dbisam都可以的,Paradox不知大小限制是多少,我用过的最大也
只有100来M吧,所以没有问题。或者你用Access或Dbisam了。 Dev也有个memdata,不
过不知数据量大的时候性能如何。
 
多人接受答案了。
 
后退
顶部