With Query1 do
Begin
Close;
Sql.Clear;
Sql.Add('Select * From TableName Where Names=''大虫子''');
IF Combobox1.Text<>'' then
Sql.Add('And Params1='''+Combobox1.Text+'''');
IF Combobox2.Text<>'' then
Sql.Add('And Params2='''+Combobox2.Text+'''');
IF Combobox3.Text<>'' then
Sql.Add('And Params3='''+Combobox3.Text+'''');
IF Combobox4.Text<>'' then
Sql.Add('And Params4='''+Combobox4.Text+'''');
var sqlStr: String;
sqlStr := 'select * from tablename where 1=1 ';
if combobox1.itemindex <> -1 then
sqlStr := sqlStr + ' and a='''+combobox1.items[combobox1.itemindex]+'''';
if combobox2.itemindex <> -1 then
sqlStr := sqlStr + ' and b='''+combobox2.items[combobox2.itemindex]+'''';
.................
if comboboxN.itemindex <> -1 then
sqlStr := sqlStr + ' and N='''+comboboxN.items[comboboxN.itemindex]+'''';
Query1.Close;
Query1.Sql.Text := sqlStr;
Query1.Open;