(转).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 的表),和数据库里的表联系起来,方便在程序使用。

 

原文地址:https://www.cnblogs.com/hongjiumu/p/2917884.html