如果使用批處理SQL語句檢索多個表並填充DataSet,第一個表用指定給Fill方法的表名命名。後面的表用指定給Fill方法的表名加上一個從1開始並且增量為1的數字命名。例如,如果運行下面的代碼:
'Visual Basic
Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection)
Dim ds As DataSet = New DataSet()
da.Fill(ds, "Customers")
//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”,並為其他後面的表建立其他的表映射。例如:
'Visual Basic
Dim da As SqlDataAdapter = New SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection)
da.TableMappings.Add("Customers1", "Orders")
Dim ds As DataSet = New DataSet()
da.Fill(ds, "Customers")
//C#
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Customers; SELECT * FROM Orders;", myConnection);
da.TableMappings.Add("Customers1", "Orders");
DataSet ds = new DataSet();
da.Fill(ds, "Customers");