SELECT INTO 不行。可以麻烦一点实现:
Query.SQL.Add('SELECT 字段名 FROM 表名 WHERE 条件');
Query.Open;
if Query.RecordCount > 0 then
begin
Query.First;
变量名 := Query.Field[0].Value;
// 或 Query.FieldByName('字段名').AsString; ...
end;
怎么可能是一个变量呢,select 出来的是一个数据集,应该用一个变量数组来得到你所查找出来的记录的字段的值。变量名 := Query.Field[0].Value只得到当前记录的字段值。
要如何用变量数组得到所有符合select出来的记录的字段的值的方法,我也不会。我用
var
test: array of string;
i: integer;
begin
with query1 do
begin
close;
sql.clear;
sql.add('select test_field1 from test_table');
open;
end;
if query1.recordcount>0 then
for i:=0 to query1.recordcount-1 do
test:=query1.fieldbyname('test_field1').asstring;
end;
以上方法通不过,如有好方法请告诉我。
ziyu的代码里有错误:
应该
if query1.recordcount>0 then
begin
Query1.First; // +++++
for i:=0 to query1.recordcount-1 do
begin
test:=query1.fieldbyname('test_field1').asstring;
Query1.Next; // +++++
end;
end;