IDataAdapter.Fill(DataSet) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
public:
int Fill(System::Data::DataSet ^ dataSet);
public int Fill(System.Data.DataSet dataSet);
abstract member Fill : System.Data.DataSet -> int
Public Function Fill (dataSet As DataSet) As Integer
Parametrar
Returer
Antalet rader som har lagts till eller uppdaterats i DataSet. Detta inkluderar inte rader som påverkas av instruktioner som inte returnerar rader.
Kommentarer
Fill hämtar rader från datakällan med hjälp av SELECT-instruktionen som anges av en associerad SelectCommand egenskap. Anslutningsobjektet som är associerat med SELECT-instruktionen måste vara giltigt, men det behöver inte vara öppet. Om anslutningen stängs innan Fill anropas öppnas den för att hämta data och stängs sedan. Om anslutningen är öppen innan Fill anropas förblir den öppen.
Åtgärden Fill lägger sedan till raderna i målobjekten DataTableDataSeti , vilket skapar objekten DataTable om de inte redan finns. När du skapar DataTable objekt skapar åtgärden Fill vanligtvis endast metadata för kolumnnamn. Men om egenskapen MissingSchemaAction är inställd på AddWithKeyskapas även lämpliga primära nycklar och begränsningar.
Om SelectCommand returnerar resultatet av en OUTER JOIN, anger inte DataAdapter ett PrimaryKey värde för den resulterande DataTable. Du måste uttryckligen definiera den primära nyckeln för att säkerställa att dubbletter av rader matchas korrekt. Mer information finns i Definiera primära nycklar.
Om det IDataAdapter uppstår dubbletter av kolumner när du fyller i en DataTablegenereras namn för efterföljande kolumner med hjälp av mönstret "columnname1", "columnname2", "columnname3" och så vidare. Om inkommande data innehåller icke namngivna kolumner placeras de i DataSet enligt mönstret "Column1", "Column2" och så vidare. När flera resultatuppsättningar läggs till i DataSetplaceras varje resultatuppsättning i en separat tabell. Ytterligare resultatuppsättningar namnges genom att integralvärden läggs till i det angivna tabellnamnet (till exempel "Tabell", "Table1", "Table2" och så vidare). Program bör vara försiktiga när du använder kolumn- och tabellnamn för att säkerställa att konflikter med dessa namngivningsmönster inte inträffar.
När SELECT-instruktionen som används för att fylla i DataSet returnerar flera resultat, till exempel en BATCH SQL-instruktion, hoppas alla efterföljande resultat över och läggs inte till i DataSet.
Du kan använda Fill metoden flera gånger på samma DataTable. Om det finns en primärnyckel sammanfogas inkommande rader med matchande rader som redan finns. Om det inte finns någon primärnyckel läggs inkommande rader till i DataTable.
Note
När du hanterar batch-SQL-instruktioner som returnerar flera resultat hämtar implementeringen av Fill och FillSchema för en .NET Framework-dataprovider schemainformation för endast det första resultatet.