我用delphi7.0+paradox数据库开发了一个小程序,有数据记录重复和数据表满的问题,请高手帮助!(100分)

  • 主题发起人 主题发起人 libaoliang
  • 开始时间 开始时间
L

libaoliang

Unregistered / Unconfirmed
GUEST, unregistred user!
我用delphi7.0+paradox数据库开发了一个小型管理系统,目前遇到了如下两个问题,请高手们帮助:
1,数据表目前已经有17万条左右的记录,系统提示表已满,无法再保存数据,请问paradox
数据表,也就是*.db文件最多可以保存多少条记录,怎么才能保存更多的数据记录?
2.由于有时直接通过delphi提供的桌面数据库desktop管理*.db文件,以前主要数据表
也有备份,当用添加直接从以前备份的数据表中添加记录时,没有删除当前表中的记
录,因此造成数据表中的记录相当一部分有重复的,有的记录甚至重复了三次,也就
是有三条完全相同的记录,但实际上只能有一条记录有效,请问如何把重复的记录
删除?也就是如果表中有一条以上相同的记录时,只保留一条记录,多余的记录删除掉,
请问如何实现?请贴出完整的代码?我使用的是BDE数据驱动!
 
2、对数据进行分组筛选,然后导出到一个临时表,完成后再导回来。
 
2:select distinct * into #abc from 表名
 delect * from 表名
 insert into 表名 select * from #abc
drop table #abc
 
count(no)>2
选出重复记录,修正之
 
漂流的雲:
你的方法请再详细一些,因为表中的数据量已经很大,有17万,人工方式已经不可能,
再说判断记录是否重复不能只根据一个字段,必须根据三个以上字段的判断才能确定是否重复,因为同一天有相同的产品名称的记录是完全可能的,所以不能用
select distinct * into #abc from 表名
lyplay2:
请说详细一些好吗?
 
笨办法:
select count(num) from TABLE
  group by num
  having count(num) >1
找出这三个字段的重复值,分别存入三个表中
再用NOT IN 查出他们之间不相交的记录(根据记录集大小)
找出所有重复的记录,修正之
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
751
SUNSTONE的Delphi笔记
S
S
回复
0
查看
758
SUNSTONE的Delphi笔记
S
后退
顶部