指出几个错误吧 1. array[0..100]与 for i:=1 to 100 num[0]的值无法插入 2. test表只有一个字段么? 如果不是 请参照SQL INSERT语法指明字段 3. 一般ADOQUERY执行SQL语句的方式为: with adoquery1 do begin close; SQL.Clear; SQL.Add('YOURSQL'); ExecSQL; end;
谢谢楼上的。你说的第一个问题改正了 第二个问题,test表确实只有一个字段,因为是我测试用的,没有其他字段。我把第一个问题改正了,执行 for i:=1 to 100 do begin adoquery1.SQL.Clear; adoquery1.SQL.Add('insert into test values(num[i])'); adoquery1.ExecSQL; end;还是错误,提示我“在此上下文中不允许使用‘num’,此处只允许使用常量、表达式或变量,不允许使用列名。难道我里面写的num[i]是列名?如果这样的话,那么,我的目的怎么达到呢?
试下如下的方式: adoquery1.SQL.Add('insert into test values('+num[i]+')');
D里面的变量在SQL里面是无法识别的
不行,提示错误:incompatible types: string an integer
刚忘了类型转换,改为如下: adoquery1.SQL.Add('insert into test values('+inttostr(num[i])+')');
放到查询分析器里面执行看不就知道错在那里了
1. array[0..100]与 for i:=1 to 100 num[0]的值无法插入
2. test表只有一个字段么? 如果不是 请参照SQL INSERT语法指明字段
3. 一般ADOQUERY执行SQL语句的方式为:
with adoquery1 do
begin
close;
SQL.Clear;
SQL.Add('YOURSQL');
ExecSQL;
end;
第二个问题,test表确实只有一个字段,因为是我测试用的,没有其他字段。我把第一个问题改正了,执行 for i:=1 to 100 do
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('insert into test values(num[i])');
adoquery1.ExecSQL;
end;还是错误,提示我“在此上下文中不允许使用‘num’,此处只允许使用常量、表达式或变量,不允许使用列名。难道我里面写的num[i]是列名?如果这样的话,那么,我的目的怎么达到呢?
adoquery1.SQL.Add('insert into test values('+num[i]+')');
不行,提示错误:incompatible types: string an integer
adoquery1.SQL.Add('insert into test values('+inttostr(num[i])+')');
这样成功了。可我有个问题。我数据库表中是int型,你的语句用inttostr,变成了string型了。这样的操作不会有问题吗?