delphi 如何在数据库中把一个表中查询的结果添加至另一个表中,并加入空记录?
2个回答
展开全部
我不知道要添加空记录干什么,如果数据表的字段一个都不被赋值,而只添加一条空记录的话,不管是ACCESS还是SQL server2000,都会报错,而且也没有必要.
至于,把查询结果写到另外一张表中,这非常简单,不过得有两个ADOdataset组件来完成,先用一ADO组件读取查询结果集.另一个ADO组件负责存储查询结果到指定的表中.
var
i:word;
begin
jmiddateMD.zb_jmxgxxb.Close;//打开查询数据集
jmiddateMD.zb_jmxgxxb.CommandText:='';
jmiddateMD.zb_jmxgxxb.CommandText:='select id as 序号,jmid as 居民ID,rxrq as 入学日期,xxmc as 学校名称,zy as 专业,xz as 学制, byrq as 毕业日期 from zb_xxxxb where jmid ='+intTostr(Fjmid)+'';
jmiddateMD.zb_jmxgxxb.Open;
if jmiddateMD.zb_jmxgxxb.RecordCount >0 then
begin//打开存储数据组件
jmiddatemd.bcgjz_tab.Close;
jmiddatemd.bcgjz_tab.CommandText:='';
jmiddatemd.bcgjz_tab.CommandText:='select id as 序号,jmid as 居民ID,rxrq as 入学日期,xxmc as 学校名称,zy as 专业,xz as 学制, byrq as 毕业日期 from 指定表';
jmiddatemd.bcgjz_tab.Open;
jmiddateMD.zb_jmxgxxb.First;
for i:=0 to jmiddateMD.zb_jmxgxxb.RecordCount -1 do
begin
jmiddatemd.bcgjz_tab.Append;//保存查询结果到指定表
jmiddatemd.bcgjz_tab.FieldByName('居民ID').Value:=jmiddateMD.zb_jmxgxxb.FieldValues['居民ID'];
jmiddatemd.bcgjz_tab.FieldByName('入学日期').Value:= jmiddateMD.zb_jmxgxxb .FieldValues['入学日期'];
......
jmiddatemd.bcgjz_tab.post;
jmiddateMD.zb_jmxgxxb.next;
end;
end;
空记录保存,自己想办法.
至于,把查询结果写到另外一张表中,这非常简单,不过得有两个ADOdataset组件来完成,先用一ADO组件读取查询结果集.另一个ADO组件负责存储查询结果到指定的表中.
var
i:word;
begin
jmiddateMD.zb_jmxgxxb.Close;//打开查询数据集
jmiddateMD.zb_jmxgxxb.CommandText:='';
jmiddateMD.zb_jmxgxxb.CommandText:='select id as 序号,jmid as 居民ID,rxrq as 入学日期,xxmc as 学校名称,zy as 专业,xz as 学制, byrq as 毕业日期 from zb_xxxxb where jmid ='+intTostr(Fjmid)+'';
jmiddateMD.zb_jmxgxxb.Open;
if jmiddateMD.zb_jmxgxxb.RecordCount >0 then
begin//打开存储数据组件
jmiddatemd.bcgjz_tab.Close;
jmiddatemd.bcgjz_tab.CommandText:='';
jmiddatemd.bcgjz_tab.CommandText:='select id as 序号,jmid as 居民ID,rxrq as 入学日期,xxmc as 学校名称,zy as 专业,xz as 学制, byrq as 毕业日期 from 指定表';
jmiddatemd.bcgjz_tab.Open;
jmiddateMD.zb_jmxgxxb.First;
for i:=0 to jmiddateMD.zb_jmxgxxb.RecordCount -1 do
begin
jmiddatemd.bcgjz_tab.Append;//保存查询结果到指定表
jmiddatemd.bcgjz_tab.FieldByName('居民ID').Value:=jmiddateMD.zb_jmxgxxb.FieldValues['居民ID'];
jmiddatemd.bcgjz_tab.FieldByName('入学日期').Value:= jmiddateMD.zb_jmxgxxb .FieldValues['入学日期'];
......
jmiddatemd.bcgjz_tab.post;
jmiddateMD.zb_jmxgxxb.next;
end;
end;
空记录保存,自己想办法.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询