请教往表中动态插入数据问题(100分)

  • 主题发起人 主题发起人 xhliang
  • 开始时间 开始时间
X

xhliang

Unregistered / Unconfirmed
GUEST, unregistred user!
有一表用adoquery联接sql server 需向表中代码字段可选择的插入一组连续号码,想采用两个edit1.text输入如100至200等数据。按确认后将数据插入表中。然后通过dbgrid将新表显示出来。本人是delphi的初学者,请各位前辈多指教! 
 
var i:integer;
for i:=strtoint(edit1.text) to strtoint(edit2.text) do
begin
adoquery1.append;
adoquery1.fieldbyname('fieldname').asinteger:=i;
adoquery1.post;
end;
 
我试过如下代码,可也不行,恳请各位老大指教.
var
s1,s2,i:Integer;
s1:=edit1.text;
s2:=edit2.text;

begin
for i:=s1 to s2 do
begin
Query1.SQL.Clear;
Query1.SQL.Add(Format('Insert into MyTable(test) Values(%d)',));
Query1.ExecSQL;
end;
end;
 
Query1.SQL.Add(Format('Insert into MyTable(test) Values(%d)',));

除非你的表总共只有一个字段
否则插不进去
 
bmsr兄,有其它好方法吗?请多指教、
 
你的方法就很好呀! 改一下 'Insert into MyTable(test) Values(%d)',)
SQl语句就可以了, 查查资料 'Insert into 的用法
另外你的程序有错

var
s1,s2,i:Integer;
begin
s1:=strtoint(edit1.text);
s2:=strtoint(edit2.text);
for i:=s1 to s2 do
begin
Query1.SQL.Clear;
Query1.SQL.Add(Format('Insert into MyTable(test) Values(%d)',));
Query1.ExecSQL;
end;
end;
 
var i:integer;
begin
for i:=strtoint(edit1.text) to strtoint(edit2.text) do
begin
with adoquery1 do
begin
close;
sql.clear;
sql.add('insert into qq (num) values (:a)');
Parameters.ParamByName('a').VALUE :=i;
ExecSQL

end;
end;
end;
 
多人接受答案了。
 
后退
顶部