请问怎么用比较简单的方法实现许多记录的拷贝(5分)

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

serenesky

Unregistered / Unconfirmed
GUEST, unregistred user!
我在做一个程序
在其中有如下数据
标示符 属性1 属性2 属性3
001 ... .... 。。。
001 ... ... ....
001 ... .... ....
001 ... ... ...
002 ... ... ..
003. ... ... ....
....表示省略
我现在想把标示符为001的记录只将其标示符改为005,而属性不变
然后添加到同一个表中请问有什么好的方法来实现吗
 
既然是同一个表中,用update直接更新就可以了,没有必要拷贝。
:〉可能我没懂你的意思
 
有啊。用TBatchMove控件最简单。
var
TblsToRead:TStrings;
I,J:integer;
SrcTbl,DesTbl:TTable;
TmpQry:TQuery;
begin
TblsToRead:=TStringList.Create;
TblsToRead.Add(TableName);
SrcTbl:=TTable.Create(Self);
SrcTbl.DatabaseName:=Databasename;
DesTbl:=TTable.Create(Self);
DesTbl.DatabaseName:=Databasename;
TmpQry:=TQuery.Create(Self);
TmpQry.DatabaseName:=Databasename;
try
J:=0;
for I:=0 to TblsToRead.Count-1do
begin
TmpQry.Close;
TmpQry.SQL.clear;
TmpQry.SQL.Text:='delete from '+TblsToRead.Strings;
TmpQry.ExecSQL;
SrcTbl.Close;
SrcTbl.TableName:=TblsToRead.Strings;
SrcTbl.Open;
DesTbl.Close;
DesTbl.TableName:=TblsToRead.Strings;
DesTbl.Open;
BMove_Temp.Source:=SrcTbl;
BMove_Temp.Destination:=DesTbl;
BMove_Temp.Execute;
Inc(J);
end;
IsSending:=False;
finally
SrcTbl.Free;
DesTbl.Free;
TmpQry.Free;
TblsToRead.Free;
end;
end;
 
lcl800
3x
我的程序需要保留原来的001
另外需要增加005的内容
 
是不是希望新增加的记录自动保留上一条记录的内容?
可以通过自定义剪贴板来实现。
 
lcl800
3x
可以说的具体一点吗
因为我在数据库中从来没有用过剪贴板
我不知道如何通过剪贴板来增加多条记录
 
sql语句一句搞定!
 
请参考:
季雪岗等,《delphi编程疑难详解》,人民邮电出版社,2000.7,139-147页,
上面有详细地介绍。
由于现在忙,不能给你发一个现成的程序过来。如果几天之后你还没解决,
我再帮你。
别忘了把你的解决方案告诉我!

 
with querydo

begin

Close;
Sql.Clear;
Sql.Text:='select 属性一,属性二,属性三 where 标示符='''+Edit1.Text+'''';
Open;
end;
Table.AppendRecord([Edit2.Text,Query1.Fields[0].value,Query1.Fields[1].value,Query1.Fields[2].value]);
其中,Edit1.Text存放你想要得标示符,Edit2.Text存放你想改的标示符

 
用下面的sql语句就行了,不行再找我!
insert into table (select 005,属性1,属性2,属性3,.... from table where
标示符=001)
就行了,你试一试.
 
非常感谢所有人的热心的解答
如今,问题已经成功的解决
在这里,向book523,dcsdcs,dmg,lcl800,xiaha表示衷心的感谢
特别是book523,他使我再一次领略到了“简单便是美“
最终,我是用book523的SQL语句实现的
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部