我们知道 可以再一个gridview 里显示来自一个库两个表的数据,只要在sql 语句里做一个连接查询就可以了 。
 可以在一个gridview 里显示来自 两个数据库的数据吗 , 怎么做啊  

解决方案 »

  1.   

    建立链接服务器!
    如果是Sql server的话,
    在"企业管理器/安全性/链接服务器/"中建立!!
      

  2.   

    可以,还是在sql里查询,和gridview无关
      

  3.   

    试下select * from [数据库名称1].[dbo].Table1 inner join [数据库名称2].[dbo].Table2 ...
      

  4.   

    SQL语句用left join 
    和GridView没关系
      

  5.   

     可是在配置文件中 写好的连接字符串一个只能连一个数据库啊        string ordersid = "";
            string[] arry;
            StringBuilder orders = new StringBuilder();
            string fuhao = "','";
            string end = "'";
            SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["WLConnectionString3"].ConnectionString);
                    DataSet ds = new DataSet();
            Regex rg = new Regex(@",");
                 Response.Write("[ssql]"+Session["ssql"].ToString());
            if (Session["ordersid"] != null)
            {
                ordersid = Session["ordersid"].ToString();
                arry = rg.Split(ordersid);
                Session["ordersid"] = null;
               for (int i = 0; i < arry.Length; i++)
                    {
                        orders.Append(arry[i].Trim().ToString());
                        orders.Append(fuhao);
                    }
                    orders.Append(end);
                    string sql="";
                    //  select   *   from   Order_Track   where   id  in   (select   min(id)   from  (SELECT * FROM Order_Track  WHERE order_ID IN('{0}) AND Track_time = any (SELECT MAX(track_time) FROM Order_Track WHERE order_id IN ('{1}) GROUP BY Order_ID))  group   by   order_ID)                 Response.Write("arr"+arry.Length.ToString());
                    if (arry.Length <= 1)
                    {
    sql =string.Format("select   *   from   Order_Track   where   id  in   (select   min(id)   from  (SELECT * FROM Order_Track WHERE order_ID IN('{0}) AND Track_time =any (SELECT MAX(track_time) FROM Order_Track WHERE order_id IN ('{1}) GROUP BY Order_ID)) oo)", orders, orders);
                    }
                    else
                    {
    sql = string.Format("SELECT * FROM Order_Track  WHERE order_ID IN('{0}) AND Track_time = any (SELECT MAX(track_time) FROM Order_Track WHERE order_id IN ('{1}) GROUP BY Order_ID)", orders, orders);
                        //      string sql = string.Format("SELECT top 1 * FROM Order_Track WHERE order_ID IN('{0}) order by id desc", orders);
                    }
                    try
                    {
                        conn.Open();
                        SqlDataAdapter da = new SqlDataAdapter(sql.ToString(), conn);
                        da.Fill(ds, "OT");
                        this.GridView1.DataSource = ds.Tables["OT"];
                        this.GridView1.DataBind();
                        da.Dispose();
                    }
                    catch
                    {
                    }
                    finally
                    {
                        ds.Clear();
                        conn.Close();                }
      
    <connectionStrings>
       <add name="WLConnectionString3" connectionString="Data Source=?;Initial Catalog=?;Persist Security Info=True;User ID=?;Password=?" providerName="System.Data.SqlClient"/>   怎么处理啊  
       
      

  6.   

    sql语句写好就ok,楼主应该先学学sql语句