如果一个DataAdapter返回的是多个记录集,那么,可以通过这个TableMappings来和这多个记录集建立名称对应关系.
默认的情况下,比如没有指定这个值,那么Fill(DataSet ds)后ds中的第一个表名是Table,第二个表是Table1,第三个是Table2...
如果用了TableMappings,那么这些Table,Table1,Table2就可以用TableMappings中指定的名称了,
这样的话,就可以通过ds.Table[tableName]来访问一个具体名称的表了.
sqlAda = new SqlDataAdapter();
sqlAda.TableMappings.Add("Table", "orders");
sqlAda.TableMappings.Add("Table1", "employees");
...
ds = new DataSet();
sqlAda.Fill(ds);
//这时ds.Tables[0].TableName为orders,
//ds.Tables[1].TableName为employees;
//这样就方便了按名子取一个表,比如DataTable orders=ds.Tables["orders"];
用处是:利用TableMappings可以给DataSet绑定多个表,并给DataSet做相应的表名影射
SqlConnection myConn=new SqlConnection(DataBase.StatConnectionString);
DataSet DaoGouDataSet=new DataSet();
SqlDataAdapter myDA=new SqlDataAdapter("SELECT * FROM VisitStat;SELECT * FROM VisitStatBrowse;",myConn);//*********这时myDA里包含两个以VisitStatN的表。
myDA.TableMappings.Add("VisitStat","VisitStat");//*******把VisitStat改成VisitStat
myDA.TableMappings.Add("VisitStat1","VisitStatBrowse");*****把VisitStat1改成VisitStatBrowse
myDA.FillSchema(DaoGouDataSet,SchemaType.Source, "VisitStat");
myDA.Fill(DaoGouDataSet,"VisitStat");
Application["DaoGouDataSet"]=DaoGouDataSet;
Application["DaoGouDA"]=myDA;
这样,以后引用的时候
DataTable myTable=myDS.Tables["VisitStat"];
DataTable myTable=myDS.Tables["VisitStatBrowse"];
就可以象上面这样的引用了。
参见:
http
://lideyong.blogchina.com/3309852.html