SqlDataAdapter.TableMappings 的用法

用處是:利用TableMappings可以給DataSet綁定多個表,並給DataSet做相應的表名影射  

 

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

發佈了57 篇原創文章 · 獲贊 6 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章