首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

關於一次性往DataSet填充多個表的問題,该如何解决

2012-03-14 
關於一次性往DataSet填充多個表的問題DimSqlAsStringSqlselect*fromPPTM_Receivedselect*fromPPTM_Build

關於一次性往DataSet填充多個表的問題
Dim   Sql   As   String
                Sql   =   "select   *   from     PPTM_Received   select   *   from     PPTM_Building   select   *   from     PPTM_Contract "
                myDataAdapter.SelectCommand.CommandText   =   Sql
                myDataAdapter.Fill(MyDataSet)
用此法是可以實現的,不過只能使用Index來取得對應表的資料,如:
                dgvReceived.DataSource   =   MyDataSet.Tables(0)
                dgvBuilding.DataSource   =   MyDataSet.Tables(1)
                dgvContract.DataSource   =   MyDataSet.Tables(2)
現在要實現的是:
能否在填充的時候就給這幾個表指定名稱呢?就像填充單個表一樣可以指定表名,如:myDataAdapter.Fill(MyDataSet,   "tab_Contract ")

[解决办法]
Dim Sql As String
Sql = "select * from PPTM_Received;select * from PPTM_Building;select * from PPTM_Contract "
myDataAdapter.SelectCommand.CommandText = Sql

da.TableMappings.Add( "PPTM_Received1 ", "PPTM_Building ");
da.TableMappings.Add( "PPTM_Received2 ", "PPTM_Contract ");
myDataAdapter.Fill(MyDataSet, "PPTM_Received ")

Response.Write(ds.Tables[0].TableName)
Response.Write(ds.Tables[1].TableName)
Response.Write(ds.Tables[2].TableName)
[解决办法]
amandag(高歌)方法是正确的
============

myDataAdapter.TableMappings.Add( "PPTM_Received1 ", "PPTM_Received ");
myDataAdapter.TableMappings.Add( "PPTM_Received2 ", "PPTM_Building ");
myDataAdapter.TableMappings.Add( "PPTM_Received3 ", "PPTM_Contract ");

myDataAdapter.Fill(MyDataSet)

Response.Write(ds.Tables[0].TableName)
Response.Write(ds.Tables[1].TableName)
Response.Write(ds.Tables[2].TableName)

热点排行