我们知道在delphi中进行查询时,因为查询条件有时候复杂我们会选择这样的方式:
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from customerInfo where customerId like :id'); ADOQuery1.Parameters.ParamByName('id').Value := eCustomerId.text; ADOQuery1.Open;
但是当面临需要写多重模糊查询时比如说like '%a%'这样的形式的时候,就发现不好写了,是这样的吗?
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from customerInfo where customerId like% :id%'); ADOQuery1.Parameters.ParamByName('id').Value := eCustomerId.text; ADOQuery1.Open; 执行的时候会发现不能识别参数id了。 比较讨巧的方式是这样的:
ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('select * from customerInfo where customerId like :id'); ADOQuery1.Parameters.ParamByName('id').Value := ‘%’+eCustomerId.text+‘%’; ADOQuery1.Open;