方法一:
with DM.qryCustomer do
begin
Close;
SQL.Clear;
SQL.Add('select *,(select top 1 Name from CustomerLB where id=a.Sort) as KHLX from Customer as a where Sort=:b');
parameters.ParamByName('b').Value:=DM.qryCustomerLB.FieldByName('ID').AsInteger;
Open;
end;方法二:
SQL:='Select *,(select top 1 Name from CustomerLB where id=a.Sort) as KHLX from Customer as a Where Sort ="'+DM.qryCustomerLB.FieldByName('ID').Asstring+'"';
DM.qryCustomer.Active:=False;
DM.qryCustomer.SQL.Text:=SQL;
DM.qryCustomer.Active:=True;请问这两个有什么区别?第一种方法执行可编译,第二种会报错(不匹配);
with DM.qryCustomer do
begin
Close;
SQL.Clear;
SQL.Add('select *,(select top 1 Name from CustomerLB where id=a.Sort) as KHLX from Customer as a where Sort=:b');
parameters.ParamByName('b').Value:=DM.qryCustomerLB.FieldByName('ID').AsInteger;
Open;
end;方法二:
SQL:='Select *,(select top 1 Name from CustomerLB where id=a.Sort) as KHLX from Customer as a Where Sort ="'+DM.qryCustomerLB.FieldByName('ID').Asstring+'"';
DM.qryCustomer.Active:=False;
DM.qryCustomer.SQL.Text:=SQL;
DM.qryCustomer.Active:=True;请问这两个有什么区别?第一种方法执行可编译,第二种会报错(不匹配);
SQL:='Select *,(select top 1 Name from CustomerLB where id=a.Sort) as KHLX from Customer as a Where Sort ='+DM.qryCustomerLB.FieldByName('ID').Asstring;
SQL:='Select *,(select top 1 Name from CustomerLB where id=a.Sort) as KHLX from Customer as a Where Sort ='''+DM.qryCustomerLB.FieldByName('ID').Asstring+'''';
DM.qryCustomer.Active:=False;
DM.qryCustomer.SQL.Text:=SQL;
DM.qryCustomer.Active:=True;