1,通过程序把3个词分开(可以遇到‘;’就存到一个string中) 2,select * from table where 字段=三明 or 字段=南平 or 字段=大湖 3,给分
procedure TForm1.Button1Click(Sender: TObject); var strTmp:string; stringlistTmp:TstringList; strSql:string; I:Integer; beginstringlistTmp:=TstringList.Create; strTmp:='三明;南平;大湖'; strTmp:=stringreplace(strTmp,';',#13,[rfReplaceAll]); stringlistTmp.CommaText := strTmp; strSql:='Select * from Table where '; for I := 0 to stringlistTmp.Count -1 do begin strSql := strSql+' Field = '+quotedstr(stringlistTmp[i])+' or'; end; stringlistTmp.Free; if Rightstr(strSql,2)='or' then strSql:=leftstr(strSql,length(strSql)-2);memo1.lines.Add(strSql); end;
var tmp,sql: String; begin tmp := Edit1.Text; sql := 'select * from table where field ='; while(Pos(';',tmp) <> 0) do begin sql := sql + Copy(tmp, 1, pos(';', tmp) -1) + ' field = '; tmp := Copy(tmp, pos(';', tmp) + 1, Length(tmp) - pos(';', tmp)); end; sql := sql + tmp;
var tmp,sql: String; begin tmp := Edit1.Text; sql := 'select * from table where field ='; while(Pos(';',tmp) <> 0) do begin sql := sql + Copy(tmp, 1, pos(';', tmp) -1) + ' or field = '; tmp := Copy(tmp, pos(';', tmp) + 1, Length(tmp) - pos(';', tmp)); end; sql := sql + tmp;
SELECT * FROM tablename WHERE 字段 LIKE '%三明%' OR 字段 LIKE '%南平%' OR 字段 LIKE '%大湖%'
呵,晚了.var str1,sql :string begin str1:=Edit1.Text; str1:=stringreplace(str1,';','%'' OR 字段名 LIKE ''%',[rfReplaceAll]); str1:=' 字段名 LIKE ''%'+strTmp+'%'''; SQL:='select * from 表名 where '+str1; ... ... ... end
2,select * from table
where 字段=三明 or 字段=南平 or 字段=大湖
3,给分
var strTmp:string;
stringlistTmp:TstringList;
strSql:string;
I:Integer;
beginstringlistTmp:=TstringList.Create;
strTmp:='三明;南平;大湖';
strTmp:=stringreplace(strTmp,';',#13,[rfReplaceAll]);
stringlistTmp.CommaText := strTmp;
strSql:='Select * from Table where ';
for I := 0 to stringlistTmp.Count -1 do
begin
strSql := strSql+' Field = '+quotedstr(stringlistTmp[i])+' or';
end;
stringlistTmp.Free;
if Rightstr(strSql,2)='or' then
strSql:=leftstr(strSql,length(strSql)-2);memo1.lines.Add(strSql);
end;
var
tmp,sql: String;
begin
tmp := Edit1.Text;
sql := 'select * from table where field =';
while(Pos(';',tmp) <> 0) do
begin
sql := sql + Copy(tmp, 1, pos(';', tmp) -1) + ' field = '; tmp := Copy(tmp, pos(';', tmp) + 1, Length(tmp) - pos(';', tmp));
end;
sql := sql + tmp;
tmp,sql: String;
begin
tmp := Edit1.Text;
sql := 'select * from table where field =';
while(Pos(';',tmp) <> 0) do
begin
sql := sql + Copy(tmp, 1, pos(';', tmp) -1) + ' or field = '; tmp := Copy(tmp, pos(';', tmp) + 1, Length(tmp) - pos(';', tmp));
end;
sql := sql + tmp;
begin
str1:=Edit1.Text;
str1:=stringreplace(str1,';','%'' OR 字段名 LIKE ''%',[rfReplaceAll]);
str1:=' 字段名 LIKE ''%'+strTmp+'%''';
SQL:='select * from 表名 where '+str1;
...
...
...
end