小弟最近剛好有一個這樣的需求..就是要一次取得多張資料表的內容...
一般我都會下一組sql指令,然後取得資料內容..這樣一次就要connection一次...
如果已知要取得哪些資料表...那就先把要取得資料表的sql指令收集起來..一次connection就取得全部資料表..
也許這樣效能會比較好...
asp.net(c#)部份程式碼
using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; using System.Configuration; using System.Text; public partial class GetMultiDataTable : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString)) { //加入要取得的資料表,可以加where條件 StringBuilder sb = new StringBuilder(); sb.Append("select * from [Table];"); sb.Append("select * from [Table1];"); SqlDataAdapter adapter = new SqlDataAdapter(sb.ToString(),conn); DataSet ds = new DataSet(); adapter.Fill(ds); ds.Tables[0].TableName = "Table"; ds.Tables[1].TableName = "Table1"; this.GridView1.DataSource = ds.Tables[0]; this.GridView1.DataBind(); this.Gridview2.DataSource = ds.Tables[1]; this.Gridview2.DataBind(); } } }
參考網址:
http://www.dotnetspider.com/forum/ViewForum.aspx?ForumId=70580
# re: ASP.NET利用SqlDataAdapter的Fill來取得多個SQL Query的DataTable, Posted by cloudio on 2008/9/2 下午 02:10 回覆
不錯^^但是如果只是要撈資料小弟覺得用datareader也蠻快的像這樣
# re: ASP.NET利用SqlDataAdapter的Fill來取得多個SQL Query的DataTable, Posted by puma on 2008/9/2 下午 06:22 回覆
感謝cloudio提供此方法呀...謝謝..
# re: ASP.NET利用SqlDataAdapter的Fill來取得多個SQL Query的DataTable, Posted by puma on 2009/4/1 下午 05:20 回覆
這裡有幾篇 "DataReader to DataTable" 的範例
http://www.dotnetcurry.com/ShowArticle.aspx?ID=143&AspxAutoDetectCookieSupport=1
http://www.dotnetjunkies.ddj.com/Tutorial/9E031150-2995-4298-86A7-407D8349C8A8.dcik
http://smilecong.blog.51cto.com/121860/21973