你要注意空格,比喻:
sql1:='select'+ form1.ADOQuery1.Fields.Fields[i].FieldName+','
应该:
sql1:='select '+form1.ADOQuery1.Fields.Fields[i].FieldName+','
sql1:='select'+ form1.ADOQuery1.Fields.Fields[i].FieldName+','
应该:
sql1:='select '+form1.ADOQuery1.Fields.Fields[i].FieldName+','
应该这样:
procedure TForm1.FormCreate(Sender: TObject);
var
i:integer;
sql1:string;
begin
if form1.CheckListBox1.selCount=0 then
begin
showmessage('请选择要显示的字段');
exit;
end;
sql1:='select ';
for i:=0 to form1.CheckListBox1.Items.Count-1 do
begin
if form1.CheckListBox1.Selected[i]then
sql1:=sql1+' form1.ADOQuery1.Fields.Fields[i].FieldName+',';
end;
delete(sql1,length(sql1)-1,1);
with form1.ADOQuery1 do
begin
sql.Add(quotedstr(trim(sql1)));
sql.Add('from jgk');
open;
end;
end;
还不可以呀,出现了 这样的错误,project project1.exe raised exception class eoleException with message'[microsoft][odbc sql driver ][sql server] 第2行''附近 有错误。‘