如何向ADOQuery增加记录(100分)

  • 主题发起人 主题发起人 zgj_gd
  • 开始时间 开始时间
Z

zgj_gd

Unregistered / Unconfirmed
GUEST, unregistred user!
我将ADOQuery1的数据集显示在DBGrid1中。现在想从DBGrid1选择部分记录(可以通过鼠标多选DBGrid1中的记录),存在另一个ADOQuery2中。怎么处理比较好?
 
把選擇的記錄抓出插到AdoQuery2
 
用DX..有例子
 
可以取出DBGrid1中部分记录的主键存在一个字符串数组中,然后select * from table where 主键 in 字符串数组 到另一个ADOQuery2中
 
一个较笨的办法,动态新建一张表,然后将dbgrid被选中的记录加到表里面去,然后用ADOQuery2连接表…………………………
 
来自:lixin0117, 时间:2008-3-5 14:14:42, ID:3877710<br>把選擇的記錄抓出插到AdoQuery2 &nbsp;<br><br>如何插到 AdoQuery2 中 ?
 
{=================================================================<br>&nbsp; 功 &nbsp;能: 复制多条记录,添加到另一数据集中<br>&nbsp; 参 &nbsp;数: SetRecord:复制记录数量 &nbsp;SourceData 源数据集 &nbsp; TargetData 目标数据集<br>=================================================================}<br>Procedure CopyReCordN(SetRecord: Integer; SourceData, TargetData: TDataSet);<br>Var<br>&nbsp; aField: Variant;<br>&nbsp; X, Y: Integer;<br>Begin<br>&nbsp; aField := VarArrayCreate([0, SetRecord - 1, 0, SourceData.FieldCount - 1], VarVariant);<br>&nbsp; For X := 0 To SetRecord - 1 Do Begin<br>&nbsp; &nbsp; For Y := 0 To (SourceData.FieldCount - 1) Do<br>&nbsp; &nbsp; &nbsp; aField[X, Y] := SourceData.Fields[Y].Value;<br>&nbsp; &nbsp; SourceData.Next;<br>&nbsp; End;<br><br>&nbsp; For X := 0 To SetRecord - 1 Do Begin<br>&nbsp; &nbsp; TargetData.Append;<br>&nbsp; &nbsp; For Y := 0 To (TargetData.FieldCount - 1) Do<br>&nbsp; &nbsp; &nbsp; TargetData.Fields[Y].Value := aField[X, Y];<br>&nbsp; End;<br>&nbsp; VarClear(aField);<br>End;
 
用临时表吧
 

Similar threads

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