我在学习mysql的时候
想先把数据添加到一个临时的表中 xdf_lins
全部数据添加完成后把xdf_lins的所有内容添加到xdf_list 这个表中我是这么写的过程,我这样写只能添加一条数据,不能完整把xdf_lins的表中的内容全部追加到
xdf_list中,我如果把 next 这句话注释掉可以添加一条
但是如果把next这条语句加上 就保存如下图
求修改的代码 应该是next的位置写的位置 不对 求指正 感谢procedure TForm1.daorulins ;
var /////导入临时表的内容
/// 导入临时表的时候 不要忘了清空临时表
i:integer;
sname,stype,score,school,sdate,sre,iage:string;
begin
with DataModule2.adoquery1 do
begin
close;
sql.text:='select * from xdf_lins'; ///查询出来临时的表
open;while not eof do //循环
begin
sname:=fieldByname('name').asstring ;
iage:= fieldByname('age').asstring ;
stype:=fieldByname('type').asstring ;
score:=fieldByname('score').asstring ;
school:=fieldByname('school').asstring ;
sdate:= fieldByname('date').asstring ;
sre:=fieldByname('re').asstring ;
///上面的代码得到了临时表的内容
/// 下面是把内容添加到主表中
close;
sql.clear;
sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)');
parameters.paramByName('name').Value:=sname;
parameters.paramByName('age').Value:=iage;
parameters.paramByName('type').Value:= stype ;
parameters.paramByName('score').Value:=score;
parameters.paramByName('school').Value:=school;
parameters.paramByName('date').Value:=sdate;
parameters.paramByName('re').Value:=sre;
try
ExecSQL;
finally
Close;
///next ;
end;
///next; next的位置不对
end;
end;
end;
想先把数据添加到一个临时的表中 xdf_lins
全部数据添加完成后把xdf_lins的所有内容添加到xdf_list 这个表中我是这么写的过程,我这样写只能添加一条数据,不能完整把xdf_lins的表中的内容全部追加到
xdf_list中,我如果把 next 这句话注释掉可以添加一条
但是如果把next这条语句加上 就保存如下图
求修改的代码 应该是next的位置写的位置 不对 求指正 感谢procedure TForm1.daorulins ;
var /////导入临时表的内容
/// 导入临时表的时候 不要忘了清空临时表
i:integer;
sname,stype,score,school,sdate,sre,iage:string;
begin
with DataModule2.adoquery1 do
begin
close;
sql.text:='select * from xdf_lins'; ///查询出来临时的表
open;while not eof do //循环
begin
sname:=fieldByname('name').asstring ;
iage:= fieldByname('age').asstring ;
stype:=fieldByname('type').asstring ;
score:=fieldByname('score').asstring ;
school:=fieldByname('school').asstring ;
sdate:= fieldByname('date').asstring ;
sre:=fieldByname('re').asstring ;
///上面的代码得到了临时表的内容
/// 下面是把内容添加到主表中
close;
sql.clear;
sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)');
parameters.paramByName('name').Value:=sname;
parameters.paramByName('age').Value:=iage;
parameters.paramByName('type').Value:= stype ;
parameters.paramByName('score').Value:=score;
parameters.paramByName('school').Value:=school;
parameters.paramByName('date').Value:=sdate;
parameters.paramByName('re').Value:=sre;
try
ExecSQL;
finally
Close;
///next ;
end;
///next; next的位置不对
end;
end;
end;
sql.clear; 这个时候已经关闭了 DataModule2.adoquery1
你需要用另外一个 DataModule2.adoquery2///上面的代码得到了临时表的内容 /// 下面是把内容添加到主表中
DataModule2.adoquery2.close;
DataModule2.adoquery2.sql.clear;
DataModule2.adoquery2.sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)'); DataModule2.adoquery2.parameters.paramByName('name').Value:=sname;
{以下依次类推}
try
DataModule2.adoquery2.ExecSQL;
finally DataModule2.adoquery2.Close;
读取表的指针 往下移动这句话放在那里 就是 next ??
DataModule2.adoquery1.close;
DataModule2.adoquery1.sql.text:='select * from xdf_lins'; ///查询出来临时的表
DataModule2.adoquery1.open;
while not DataModule2.adoquery1.eof do
begin
/////combobox2.items.add(fieldByname('uid').asstring);
sname:=DataModule2.adoquery1.fieldByname('name').asstring ;
iage:= DataModule2.adoquery1.fieldByname('age').asstring ;
stype:=DataModule2.adoquery1.fieldByname('type').asstring ;
score:=DataModule2.adoquery1.fieldByname('score').asstring ;
school:=DataModule2.adoquery1.fieldByname('school').asstring ;
sdate:= DataModule2.adoquery1.fieldByname('date').asstring ;
sre:=DataModule2.adoquery1.fieldByname('re').asstring ;
///上面的代码得到了临时表的内容
/// 下面是把内容添加到主表中
DataModule2.adoquery1.next;
DataModule2.adoquery2.close;
DataModule2.adoquery2.sql.clear;
DataModule2.adoquery2.sql.add('insert into xdf_list (name,age,type,score,school,date,re) values(:name,:age,:type,:score,:school,:date,:re)');
DataModule2.adoquery2.parameters.paramByName('name').Value:=sname;
DataModule2.adoquery2.parameters.paramByName('age').Value:=iage;
DataModule2.adoquery2.parameters.paramByName('type').Value:= stype ;
DataModule2.adoquery2.parameters.paramByName('score').Value:=score;
DataModule2.adoquery2.parameters.paramByName('school').Value:=school;
DataModule2.adoquery2.parameters.paramByName('date').Value:=sdate;
DataModule2.adoquery2.parameters.paramByName('re').Value:=sre;
try
DataModule2.adoquery2.ExecSQL;
finally