lhrhi 原文 NET 一次查詢多表,填充DataSet並指定表名(DataSet指定DataTable名稱的技巧)
現實中的場景,有時可能需要一次查詢數據庫中表張。在使用SqlDataAdapter類的Fill方法填充DataSet, 同時指定填充到DataSet中DataTable表名。
例如設置成跟數據庫一樣的。可以通過SqlDataAdapter類的TableMappings屬性實現。
SqlDataAdapter類的Fill方法填充DataSet中表名稱,默認是Table, Table1, Table2……?
查詢返回多張表
SqlConnection conn=new SqlConnection("server=.; database=DataBaseName; uid=sa; pwd=sa"); //數據庫連接,可以自己定義。 string sql="SELECT * FROM User; SELECT * FROM Product; SELECT * FROM Article;"; SqlCommand cmd=new SqlCommand(sql, conn); SqlDataAdapter adapter=new SqlDataAdapter(cmd);
指定表名
TableMappings.Add方法,第一個參數是Fill DataSet時默認的表名,第二參數是指定的表名,可以根據需要自定義。
adapter.TableMappings.Add("Table", "User"); adapter.TableMappings.Add("Table1", "Product"); adapter.TableMappings.Add("Table2", "Article"); DataSet ds=new DataSet(); adapter.Fill(ds); //被填充到DataSet中有三張表,分別是User,Product,Article
這樣就可以了,
很容易將查詢返回多個表(填充到DataSet 的表),和數據庫里的表聯系起來,方便在程序使用。