将多个表填充到同一个Dataset中

时间:2021-04-04 15:08:13

如果使用SQL语句检索多个表并填充Dataset ,第一个表用指定给 file 方法的表名命名,后面的表用指定给FILL方法的表名加上一个从1开始并且增量为1的数字命名。

C#

sqlDataAdapter da = new SqlDataAdapter("select * from Customers;select * from orders ",myConnection);

DataSet ds=new DataSet();

da.Fill(ds,"customers");

填充完DataSet之后,可以很容易地将“Customers1”表的TableName属性改为“Orders”。但是,后面的填充会导致“Customers”表被重新填充,而“Orders”表会被忽略,并创建另外一个“Customers1”表。为了对这种情况作出补救,创建一个DataTableMapping,将“Customers1”映射到“Orders”,并为其他后面的表创建其他的表映射。例如:

SqlDataAdapter da =new SqlDataAdapter("select * from Customers;select * from orders",myconnection);

da.TableMapping.Add("customers1","orders");

DataSet ds=new DataSet();

da.Fill(ds,"Customers");