试下select * from [数据库名称1].[dbo].Table1 inner join [数据库名称2].[dbo].Table2 ...
SQL语句用left join 和GridView没关系
可是在配置文件中 写好的连接字符串一个只能连一个数据库啊 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(); }
如果是Sql server的话,
在"企业管理器/安全性/链接服务器/"中建立!!
和GridView没关系
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"/> 怎么处理啊