我有一个ACCESS数据表如下
ID Name Score
1 老张 80
2 王二小 70
3 老张 80
4 李小黑 90
====================
现在我想删除 字段 Name 重复的纪录,达如下效果:
ID Name Score
1 老张 80
2 王二小 70
4 李小黑 90请问,在DELPHI里面操作ACCESS怎么做最快?
我查询了CSDN见到一个人操作ACCESS用了这样的表达式:“这个是公认的最快的删除重复记录的SQL:
DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); ”我自己如果要做,应该怎么做速度最快呢? 请给出思路
ID Name Score
1 老张 80
2 王二小 70
3 老张 80
4 李小黑 90
====================
现在我想删除 字段 Name 重复的纪录,达如下效果:
ID Name Score
1 老张 80
2 王二小 70
4 李小黑 90请问,在DELPHI里面操作ACCESS怎么做最快?
我查询了CSDN见到一个人操作ACCESS用了这样的表达式:“这个是公认的最快的删除重复记录的SQL:
DELETE FROM EMP E WHERE E.ROWID > (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); ”我自己如果要做,应该怎么做速度最快呢? 请给出思路
解决方案 »
- 简单问题(50分)
- 求救:delphi中设置右键点击listview的item时,出现的PopupMenu为什么是点击的上一个的item的PopupMenu?
- 来个调查,大家现在用什么版本的Delphi,和什么第三方控件?
- w我有一个项目的原程序,但我只要其中的一个功能,那我怎么把这个功能分离开
- 程序运行出错 请各位帮忙
- 字段太小而不能接爱所要添加的数据的数量,试着插入或粘贴较少的数据。。。。。。。。。。
- copyfile()如何用?对不起,已经无分可赠
- 有谁知道QuickReport 的内容保存成图片的方法?
- 如何去掉图片的底色
- 怎么写自定义的消息,请高手指教
- 问个简单的问题(急)
- DELPHI与WORD怎样连用 急~急~
这样做吧,
Function GetDelReocrdsID: string;
var
midStr,ResultStr:string;
begin
with adodataset do
begin
if active then active:=false;
commandtext:='select * from EMP order by [Name] asc' ; // 一定要排序
open; midStr:=''; ResultStr:='';
while (Not eof) do
begin
if trim(midstr)=trim(FieldByName('Name').asstring) then
ResultStr:=ResultStr+FieldByName('ID').asstring+',';
else midStr:=FieldByName('Name').asstring;
Next;
end;
if result<>'' then
result:=Copy(ResultStr1,length(ResultStr)-1)
else result:='-1'
Close;
end;
end;procedure deleteSelectRecord;
begin
with Adocommand do
begin
commandtext:='Delete From EMP where ID in ('+GetDelReocrdsID+')';
execute;
end;
end;