如果一個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