1、while not Eof do//这一段是干什么用的
用于判断ADOQuery2的记录指针是不是到了末尾,这样可以遍历所有记录,她和下面的Next配合使用。
2、Result := Result + Fields[1].AsString + #13#10;//这一段也不明白
叠加一个得到一个字符串,#13#10表示回车换行符
3、记录可以使用简单的sql语句完成吗
这已经是相当简单的方法
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
用于判断ADOQuery2的记录指针是不是到了末尾,这样可以遍历所有记录,她和下面的Next配合使用。
2、Result := Result + Fields[1].AsString + #13#10;//这一段也不明白
叠加一个得到一个字符串,#13#10表示回车换行符
3、记录可以使用简单的sql语句完成吗
这已经是相当简单的方法
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
listbox1.items.add(query1.fields[1].asstring);
当然大同小异,不过这个函数我觉得能传递所用的combobox就更好了
最好反回Result:=TStringList.text;
这样速度快,如果记录有上千条,两者用的时间会有很大差别。
注意前面这一句:
with ADOQuery2 do
结果就相当于
while not ADOQuery2.Eof do.
function TForm1.GetTableList(ATableName: string): TStrings;
begin
Result := TStringList.Create;
try
with ADOQuery2 do
begin
if Active then Close;
SQL.Text := 'select * from ' + ATableName;
Open;
First;
while not Eof do
begin
Result.Add(Fields[1].AsString);
Next;
end;
Close;
except
Result.Free;
Raise;
end;
end;