string[] items = Label1.Text.split(' ');
if(items.length=0)return;
string sql = "select * from tp where name like ";
for(int i=0;i<items.length;i++)
{
  sql += "'%" + items[i] + "' or ";
}
sql = sql.substring(0,sql.length-3);

解决方案 »

  1.   

    修改
    string[] items = Label1.Text.split( '  ');
    if(items.length=0)return;
    string sql = "select * from tp where ";
    for(int i=0;i <items.length;i++)
    {
      sql += " name like '%" + items[i] + " ' or ";
    }
    sql = sql.substring(0,sql.length-3);
      

  2.   

    一楼正解,补充一下
    string[] items = Label1.Text.split(  '   '); 
    if(items.length=0)return; 
    string sql = "select * from tp where "; 
    for(int i=0;i  <items.length;i++) 

      sql += " name like  '%" + items[i] + "%' or "; 

    sql = sql.substring(0,sql.length-3);
      

  3.   

    把stringname打散成数组,即:stringname.ToCharArray(),然后再做循环,思路和上面差不多
      

  4.   

    出来的结果是select * from tp where name like '%A ' or name like '%B ' or name like '%C ' or name like '%D ' 不是我想要的select * from tp where name like '%"+A+"%' or name like '%"+B+"%' or name like '%"+C+"%' or name like '%"+D+"%'
      

  5.   

    string[] items = Label1.Text.split(   '    ');  
    if(items.length=0)return;  
    string sql = "select * from tp where ";  
    for(int i=0;i   <items.length;i++)  
    {  
      sql += " name like   '%\"\+" + items[i] + "\+\"% ' or ";  
    }  
    sql = sql.substring(0,sql.length-3);
      

  6.   

    在SQL中去做吧
    用函数:create function ddd(@text varchar(50))
    returns varchar(8000)
    as
    begin
    declare @sql varchar(8000)
    set @sql='select * from tp where '
    while(len(@text)<>0)
    begin
    set @sql=@sql + ' name like ''%'+ left(@text,1)+'%'' or' 
    set @text=right(@text,len(@text)-1)
    end
    set @sql=left(@sql,len(@sql)-3)
    return @sql
    end调用函数:select dbo.ddd('ABCD')