有一个文本框输入关键字..在Tabel1,Tabel2,Tabel3,Tabel4表中的一个相同的"列"中查询这个关键字....把搜索结果都绑定在DataGird上...DataGird的一列并显示表的名称...
string selxz="select * from Tabel1 where sss like '%"+TextBox1.Text.ToString()+"%'";
string seltk="select * from Tabel2 where sss like '%"+TextBox1.Text.ToString()+"%'";
string seljd="select * from Tabel3 where sss like '%"+TextBox1.Text.ToString()+"%'";
string selsf="select * from Tabel4 where sss like '%"+TextBox1.Text.ToString()+"%'";
SqlDataAdapter da=new SqlDataAdapter(seljd,sqlConnection1);//下面就......有点问题了.....希望大家...............
DataSet ds=new DataSet();
da.Fill(ds,"ks");
DataGrid1.DataSource=ds.Tables["ks"].DefaultView;
DataGrid1.DataBind();

解决方案 »

  1.   

    取得的列一样的话,可以使用fill都加入到一个dataset中
      

  2.   

    select * form t1 join t2 on t1.id = t2.id join t3 on .....
      

  3.   

    select * form t1 join t2 on t1.id = t2.id join t3 on...
    他的id不相同的.只是列名相同
      

  4.   

    使用 union all
    写到存储过程里面 可以多加一个字段来区分 是属于哪个表
      

  5.   

    u may use union key word to achieve this function.eg.
    string strSql="select f11 as f1,f12 as f2 from Tabel1 where sss like '%"+TextBox1.Text.ToString()+"%'";
    strSql = strSql + " UNION ";
    string strSql="select f21 as f1,f22 as f2 from Tabel2 where sss like '%"+TextBox1.Text.ToString()+"%'";
    ...
      

  6.   

    个人觉得还是WeekZero(∮ 空马甲 ∮) 说得有道理,分4次将4个表里的数据通过sqldataadapter放到dataset里的同一表中,再把dataset绑定到datagrid