DbDataAdapter.Fill Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) |
Menambahkan atau merefresh baris dalam rentang tertentu di DataSet agar sesuai dengan baris di sumber data menggunakan DataSet nama tabel sumber, string perintah, dan perilaku perintah. |
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior) |
Menambahkan atau menyegarkan baris dalam rentang tertentu di DataSet agar sesuai dengan baris di sumber data menggunakan DataSet nama dan DataTable . |
Fill(DataSet, String, IDataReader, Int32, Int32) |
Menambahkan atau merefresh baris dalam rentang tertentu agar DataSet sesuai dengan baris di sumber data menggunakan DataSetnama , DataTable, dan IDataReader . |
Fill(DataSet, Int32, Int32, String) |
Menambahkan atau menyegarkan baris dalam rentang tertentu di DataSet agar sesuai dengan baris di sumber data menggunakan DataSet nama dan DataTable . |
Fill(Int32, Int32, DataTable[]) |
Menambahkan atau menyegarkan baris dalam satu atau beberapa DataTable objek agar sesuai dengan yang ada di sumber data mulai dari rekaman yang ditentukan dan mengambil hingga jumlah rekaman maksimum yang ditentukan. |
Fill(DataTable) |
Menambahkan atau merefresh baris dalam rentang tertentu di DataSet agar sesuai dengan baris di sumber data menggunakan DataTable nama . |
Fill(DataTable, IDataReader) |
Menambahkan atau menyegarkan baris dalam DataTable agar sesuai dengan baris di sumber data menggunakan nama dan IDataReader yang ditentukanDataTable. |
Fill(DataSet, String) |
Menambahkan atau merefresh baris di DataSet agar sesuai dengan baris di sumber data menggunakan DataSet nama dan DataTable . |
Fill(DataSet) |
Menambahkan atau me-refresh baris di DataSet. |
Fill(DataTable, IDbCommand, CommandBehavior) |
Menambahkan atau me-refresh baris dalam DataTable agar sesuai dengan baris di sumber data menggunakan , IDbCommand dan CommandBehavioryang ditentukanDataTable. |
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
protected:
virtual int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill (System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataSet * int * int * string * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String, command As IDbCommand, behavior As CommandBehavior) As Integer
Parameter
- startRecord
- Int32
Nomor rekaman berbasis nol untuk memulai.
- maxRecords
- Int32
Jumlah maksimum rekaman yang akan diambil. Tentukan 0 untuk mengambil semua rekaman setelah rekaman mulai.
- srcTable
- String
Nama tabel sumber yang digunakan untuk pemetaan tabel.
- command
- IDbCommand
Pernyataan SQL SELECT yang digunakan untuk mengambil baris dari sumber data.
- behavior
- CommandBehavior
Salah CommandBehavior satu nilai.
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan di DataSet. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Pengecualian
Tabel sumber tidak valid.
Parameternya startRecord
kurang dari 0.
-atau-
Parameternya maxRecords
kurang dari 0.
Keterangan
Nilai maxRecords
0 mendapatkan semua rekaman yang ditemukan setelah rekaman awal. Jika maxRecords
lebih besar dari jumlah baris yang tersisa, hanya baris yang tersisa yang dikembalikan dan tidak ada kesalahan yang dikeluarkan.
Metode mengambil Fill baris dari sumber data menggunakan pernyataan SELECT yang ditentukan oleh properti terkait SelectCommand . Objek koneksi yang terkait dengan pernyataan SELECT harus valid, tetapi tidak perlu dibuka. Jika koneksi ditutup sebelum Fill dipanggil, koneksi dibuka untuk mengambil data, lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Fill Operasi kemudian menambahkan baris ke objek tujuan DataTable di DataSet, membuat DataTable objek jika belum ada. Saat membuat DataTable objek, Fill operasi biasanya hanya membuat metadata nama kolom. Namun, jika MissingSchemaAction properti diatur ke AddWithKey
, kunci dan batasan primer yang sesuai juga dibuat.
DbDataAdapter Jika menemukan kolom duplikat saat mengisi DataTable, kolom akan menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya. Saat beberapa tataan hasil ditambahkan ke setiap tataan DataSet hasil ditempatkan dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Jika aplikasi Anda menggunakan nama kolom dan tabel, pastikan tidak ada konflik dengan pola penamaan ini.
Metode ini Fill mendukung skenario di mana DataSet berisi beberapa DataTable objek yang namanya hanya berbeda menurut kasus. Dalam situasi seperti itu, Fill lakukan perbandingan peka huruf besar/kecil untuk menemukan tabel yang sesuai, dan membuat tabel baru jika tidak ada kecocokan yang tepat. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jika Fill dipanggil dan DataSet hanya berisi satu DataTable yang namanya hanya berbeda menurut kasus, yang DataTable diperbarui. Dalam skenario ini, perbandingannya tidak peka huruf besar/kecil. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Anda dapat menggunakan Fill metode beberapa kali pada yang sama DataTable. Jika kunci primer ada, baris masuk digabungkan dengan baris yang cocok yang sudah ada. Jika tidak ada kunci primer, baris masuk ditambahkan ke DataTable.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi Fill dan FillSchema untuk penyedia data .NET Framework mengambil informasi skema hanya untuk hasil pertama.
Catatan Bagi Inheritor
Kelebihan metode Fill(DataSet) ini dilindungi dan dirancang untuk digunakan oleh penyedia data .NET Framework.
Lihat juga
Berlaku untuk
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
protected:
virtual int Fill(cli::array <System::Data::DataTable ^> ^ dataTables, int startRecord, int maxRecords, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill (System.Data.DataTable[] dataTables, int startRecord, int maxRecords, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable[] * int * int * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTables As DataTable(), startRecord As Integer, maxRecords As Integer, command As IDbCommand, behavior As CommandBehavior) As Integer
Parameter
- startRecord
- Int32
Nomor rekaman berbasis nol untuk memulai.
- maxRecords
- Int32
Jumlah maksimum rekaman yang akan diambil. Tentukan 0 untuk mengambil semua rekaman setelah rekaman mulai.
- command
- IDbCommand
yang IDbCommand dijalankan untuk mengisi DataTable objek.
- behavior
- CommandBehavior
Salah CommandBehavior satu nilai.
Mengembalikan
Jumlah baris yang ditambahkan ke atau disegarkan dalam tabel data.
Pengecualian
tidak DataSet valid.
Koneksi tidak dapat ditemukan.
Parameternya startRecord
kurang dari 0.
-atau-
Parameternya maxRecords
kurang dari 0.
Keterangan
Nilai maxRecords
0 mendapatkan semua rekaman yang ditemukan setelah rekaman awal. Jika maxRecords
lebih besar dari jumlah baris yang tersisa, hanya baris yang tersisa yang dikembalikan dan tidak ada kesalahan yang dikeluarkan.
Metode mengambil Fill data dari sumber data menggunakan pernyataan SELECT. Objek IDbConnection yang terkait dengan pernyataan SELECT harus valid, tetapi tidak perlu terbuka. IDbConnection Jika ditutup sebelum Fill dipanggil, data dibuka untuk mengambil data, lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Jika perintah tidak mengembalikan baris apa pun, tidak ada tabel yang ditambahkan ke DataSet, tetapi tidak ada pengecualian yang dinaikkan.
DbDataAdapter Jika objek menemukan kolom duplikat saat mengisi DataTable, objek akan menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya.
Saat kueri yang ditentukan mengembalikan beberapa hasil, setiap tataan hasil ditempatkan dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Karena tidak ada tabel yang dibuat untuk kueri yang tidak mengembalikan baris, jika Anda memproses kueri sisipan diikuti dengan kueri pilih, tabel yang dibuat untuk kueri pilih akan diberi nama "Tabel", karena tabel tersebut adalah tabel pertama yang dibuat. Jika aplikasi Anda menggunakan nama kolom dan tabel, pastikan tidak ada konflik dengan pola penamaan ini.
Metode ini Fill mendukung skenario di mana DataSet berisi beberapa DataTable objek yang namanya hanya berbeda menurut kasus. Dalam situasi seperti itu, Fill lakukan perbandingan peka huruf besar/kecil untuk menemukan tabel yang sesuai, dan membuat tabel baru jika tidak ada kecocokan yang tepat. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jika Fill dipanggil dan DataSet hanya berisi satu DataTable yang namanya hanya berbeda menurut kasus, yang DataTable diperbarui. Dalam skenario ini, perbandingannya tidak peka huruf besar/kecil. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Jika terjadi kesalahan atau pengecualian saat mengisi tabel data, baris yang ditambahkan sebelum terjadinya kesalahan tetap berada dalam tabel data. Sisa operasi dibatalkan.
Saat pernyataan SELECT yang digunakan untuk mengisi DataTable objek mengembalikan beberapa hasil, seperti pernyataan SQL batch, ketahui hal berikut:
Saat memproses beberapa hasil dari pernyataan SQL batch,
maxRecords
hanya berlaku untuk hasil pertama. Hal yang sama berlaku untuk baris yang berisi hasil bab (.NET Framework Penyedia Data hanya untuk OLE DB). Hasil tingkat atas dibatasi olehmaxRecords
, tetapi semua baris anak ditambahkan.Jika salah satu hasil berisi kesalahan, semua hasil berikutnya akan dilewati.
Catatan
DataSet
tidak akan berisi lebih dari jumlah rekaman yang ditunjukkan oleh maxRecords
. Namun, seluruh hasil yang dihasilkan oleh kueri masih dikembalikan dari server.
Catatan Bagi Inheritor
Saat mengambil alih di kelas turunan Fill(DataSet) , pastikan untuk memanggil metode kelas Fill(DataSet) dasar.
Lihat juga
Berlaku untuk
Fill(DataSet, String, IDataReader, Int32, Int32)
Menambahkan atau merefresh baris dalam rentang tertentu agar DataSet sesuai dengan baris di sumber data menggunakan DataSetnama , DataTable, dan IDataReader .
protected:
virtual int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable, System::Data::IDataReader ^ dataReader, int startRecord, int maxRecords);
protected virtual int Fill (System.Data.DataSet dataSet, string srcTable, System.Data.IDataReader dataReader, int startRecord, int maxRecords);
override this.Fill : System.Data.DataSet * string * System.Data.IDataReader * int * int -> int
Protected Overridable Function Fill (dataSet As DataSet, srcTable As String, dataReader As IDataReader, startRecord As Integer, maxRecords As Integer) As Integer
Parameter
- dataReader
- IDataReader
Nama IDataReader.
- startRecord
- Int32
Nomor rekaman berbasis nol untuk memulai.
- maxRecords
- Int32
Jumlah maksimum rekaman yang akan diambil. Tentukan 0 untuk mengambil semua rekaman setelah rekaman mulai.
Mengembalikan
Jumlah baris yang berhasil ditambahkan ke atau disegarkan di DataSet. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Pengecualian
Keterangan
Nilai maxRecords
0 mendapatkan semua rekaman yang ditemukan setelah rekaman awal. Jika maxRecords
lebih besar dari jumlah baris yang tersisa, hanya baris yang tersisa yang dikembalikan dan tidak ada kesalahan yang dikeluarkan.
Berlaku untuk
Fill(DataSet, Int32, Int32, String)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataSet ^ dataSet, int startRecord, int maxRecords, System::String ^ srcTable);
public int Fill (System.Data.DataSet dataSet, int startRecord, int maxRecords, string srcTable);
override this.Fill : System.Data.DataSet * int * int * string -> int
Public Function Fill (dataSet As DataSet, startRecord As Integer, maxRecords As Integer, srcTable As String) As Integer
Parameter
- startRecord
- Int32
Nomor rekaman berbasis nol untuk memulai.
- maxRecords
- Int32
Jumlah maksimum rekaman yang akan diambil. Tentukan 0 untuk mengambil semua rekaman setelah rekaman mulai.
- srcTable
- String
Nama tabel sumber yang akan digunakan untuk pemetaan tabel.
Mengembalikan
Jumlah baris yang berhasil ditambahkan ke atau disegarkan di DataSet. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Pengecualian
Tidak DataSet valid.
Koneksi tidak dapat ditemukan.
Parameternya startRecord
kurang dari 0.
-atau-
Parameternya maxRecords
kurang dari 0.
Contoh
Contoh berikut menggunakan kelas turunan, OleDbDataAdapter, untuk mengisi DataSet dengan 15 baris, dimulai dari baris 10, dari tabel Kategori . Contoh ini mengasumsikan bahwa Anda telah membuat OleDbDataAdapter dan DataSet.
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet,9,15,"Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, 9, 15, "Categories")
End Sub
Keterangan
Nilai maxRecords
0 mendapatkan semua rekaman yang ditemukan setelah rekaman awal. Jika maxRecords
lebih besar dari jumlah baris yang tersisa, hanya baris yang tersisa yang dikembalikan, dan tidak ada kesalahan yang dikeluarkan.
Jika perintah pilih yang sesuai adalah pernyataan yang mengembalikan beberapa hasil, Fill hanya berlaku maxRecords
untuk hasil pertama.
Metode mengambil Fill data dari sumber data menggunakan pernyataan SELECT. Objek IDbConnection yang terkait dengan pernyataan SELECT harus valid, tetapi tidak perlu dibuka. IDbConnection Jika ditutup sebelum Fill dipanggil, data akan dibuka untuk mengambil data lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Jika perintah tidak mengembalikan baris apa pun, tidak ada tabel yang ditambahkan ke DataSet, tetapi tidak ada pengecualian yang dimunculkan.
DbDataAdapter Jika objek menemukan kolom duplikat saat mengisi DataTable, objek akan menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya.
Saat kueri yang ditentukan mengembalikan beberapa hasil, setiap tataan hasil ditempatkan dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Karena tidak ada tabel yang dibuat untuk kueri yang tidak mengembalikan baris, jika Anda memproses kueri sisipan diikuti dengan kueri pemilih, tabel yang dibuat untuk kueri pemilih bernama "Tabel", karena ini adalah tabel pertama yang dibuat. Jika aplikasi Anda menggunakan nama kolom dan tabel, pastikan tidak ada konflik dengan pola penamaan ini.
Metode ini Fill mendukung skenario di mana DataSet berisi beberapa DataTable objek yang namanya hanya berbeda menurut kasus. Dalam situasi seperti itu, Fill lakukan perbandingan peka huruf besar/kecil untuk menemukan tabel yang sesuai, dan membuat tabel baru jika tidak ada kecocokan yang tepat. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jika Fill dipanggil dan DataSet hanya berisi satu DataTable yang namanya hanya berbeda menurut kasus, yang DataTable diperbarui. Dalam skenario ini, perbandingannya tidak peka huruf besar/kecil. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Jika terjadi kesalahan atau pengecualian saat mengisi tabel data, baris yang ditambahkan sebelum terjadinya kesalahan tetap berada dalam tabel data. Sisa operasi dibatalkan.
Saat pernyataan SELECT yang digunakan untuk mengisi DataSet mengembalikan beberapa hasil, seperti pernyataan SQL batch, ketahui hal-hal berikut:
Saat memproses beberapa hasil dari pernyataan SQL batch,
maxRecords
hanya berlaku untuk hasil pertama. Hal yang sama berlaku untuk baris yang berisi hasil bab (.NET Framework Penyedia Data hanya untuk OLE DB). Hasil tingkat atas dibatasi olehmaxRecords
, tetapi semua baris anak ditambahkan.Jika salah satu hasil berisi kesalahan, semua hasil berikutnya dilewati dan tidak ditambahkan ke DataSet.
Saat menggunakan panggilan berikutnya Fill untuk merefresh konten DataSet, dua kondisi harus dipenuhi:
Pernyataan SQL harus cocok dengan yang awalnya digunakan untuk mengisi DataSet.
Informasi kolom Kunci harus ada.
Jika informasi kunci primer ada, baris duplikat apa pun akan direkonsiliasi dan hanya muncul sekali dalam DataTable yang sesuai dengan DataSet. Informasi kunci primer dapat diatur baik melalui FillSchema, dengan menentukan PrimaryKey properti , DataTableatau dengan mengatur properti ke MissingSchemaActionAddWithKey
.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi FillSchema untuk Penyedia Data .NET Framework untuk OLE DB mengambil informasi skema hanya untuk hasil pertama. Untuk mengambil informasi skema untuk beberapa hasil, gunakan Fill dengan diatur MissingSchemaAction ke AddWithKey
.
Catatan
DataSet
tidak akan berisi lebih dari jumlah rekaman yang ditunjukkan oleh maxRecords
. Namun, seluruh tataan hasil yang dihasilkan oleh kueri masih dikembalikan dari server.
Catatan Bagi Inheritor
Saat mengambil alih di kelas turunan Fill(DataSet) , pastikan untuk memanggil metode kelas Fill(DataSet) dasar.
Lihat juga
Berlaku untuk
Fill(Int32, Int32, DataTable[])
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
Menambahkan atau menyegarkan baris dalam satu atau beberapa DataTable objek agar sesuai dengan yang ada di sumber data mulai dari rekaman yang ditentukan dan mengambil hingga jumlah rekaman maksimum yang ditentukan.
public:
int Fill(int startRecord, int maxRecords, ... cli::array <System::Data::DataTable ^> ^ dataTables);
public int Fill (int startRecord, int maxRecords, params System.Data.DataTable[] dataTables);
override this.Fill : int * int * System.Data.DataTable[] -> int
Public Function Fill (startRecord As Integer, maxRecords As Integer, ParamArray dataTables As DataTable()) As Integer
Parameter
- startRecord
- Int32
Nomor rekaman berbasis nol untuk memulai.
- maxRecords
- Int32
Jumlah maksimum rekaman yang akan diambil. Tentukan 0 untuk mengambil semua rekaman setelah rekaman mulai.
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan dalam DataTable objek. Nilai ini tidak menyertakan baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Pengecualian
dataTables
adalah null
atau array kosong.
Keterangan
Nilai maxRecords
0 mendapatkan semua rekaman yang ditemukan setelah rekaman awal. Jika maxRecords
lebih besar dari jumlah baris yang tersisa, hanya baris yang tersisa yang dikembalikan, dan tidak ada kesalahan yang dikeluarkan.
Metode mengambil Fill baris dari sumber data menggunakan pernyataan SELECT yang ditentukan oleh properti terkait SelectCommand . Objek koneksi yang terkait dengan pernyataan SELECT harus valid, tetapi tidak perlu dibuka. Jika koneksi ditutup sebelum Fill dipanggil, koneksi dibuka untuk mengambil data, lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Fill Operasi kemudian menambahkan baris ke objek tujuan DataTable di DataSet, membuat DataTable objek jika belum ada. Saat membuat DataTable objek, Fill operasi biasanya hanya membuat metadata nama kolom. Namun, jika MissingSchemaAction properti diatur ke AddWithKey
, kunci dan batasan primer yang sesuai juga dibuat.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Jika adaptor data menemukan kolom duplikat saat mengisi DataTable, adaptor data menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya. Saat beberapa tataan hasil ditambahkan ke , setiap tataan DataSethasil ditempatkan dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Jika aplikasi Anda menggunakan nama kolom dan tabel, pastikan tidak ada konflik dengan pola penamaan ini.
Ketika pernyataan SELECT yang digunakan untuk mengisi DataSet mengembalikan beberapa hasil, seperti pernyataan SQL batch, jika salah satu hasil berisi kesalahan, semua hasil berikutnya dilewati dan tidak ditambahkan ke DataSet.
Anda dapat menggunakan Fill metode beberapa kali pada yang sama DataTable. Jika kunci primer ada, baris masuk digabungkan dengan baris yang cocok yang sudah ada. Jika tidak ada kunci primer, baris masuk ditambahkan ke DataTable.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi FillSchema untuk Penyedia Data .NET Framework untuk OLE DB mengambil informasi skema hanya untuk hasil pertama. Untuk mengambil informasi skema untuk beberapa hasil, gunakan Fill dengan diatur MissingSchemaAction ke AddWithKey
.
Lihat juga
Berlaku untuk
Fill(DataTable)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataTable ^ dataTable);
public int Fill (System.Data.DataTable dataTable);
override this.Fill : System.Data.DataTable -> int
Public Function Fill (dataTable As DataTable) As Integer
Parameter
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan di DataSet. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Pengecualian
Tabel sumber tidak valid.
Keterangan
Metode mengambil Fill baris dari sumber data menggunakan pernyataan SELECT yang ditentukan oleh properti terkait SelectCommand . Objek koneksi yang terkait dengan pernyataan SELECT harus valid, tetapi tidak perlu dibuka. Jika koneksi ditutup sebelum Fill dipanggil, koneksi dibuka untuk mengambil data, lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Fill Operasi kemudian menambahkan baris ke objek tujuan DataTable di DataSet, membuat DataTable objek jika belum ada. Saat membuat DataTable objek, Fill operasi biasanya hanya membuat metadata nama kolom. Namun, jika MissingSchemaAction properti diatur ke AddWithKey
, kunci dan batasan primer yang sesuai juga dibuat.
DbDataAdapter Jika menemukan kolom duplikat saat mengisi DataTable, kolom akan menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya. Saat beberapa tataan hasil ditambahkan ke setiap tataan DataSet hasil ditempatkan dalam tabel terpisah.
Kelebihan beban Fill yang mengambil DataTable
sebagai parameter hanya mendapatkan hasil pertama. Gunakan kelebihan beban Fill yang mengambil DataSet
sebagai parameter untuk mendapatkan beberapa hasil.
Metode ini Fill mendukung skenario di mana DataSet berisi beberapa DataTable objek yang namanya hanya berbeda menurut kasus. Dalam situasi seperti itu, Fill lakukan perbandingan peka huruf besar/kecil untuk menemukan tabel yang sesuai, dan membuat tabel baru jika tidak ada kecocokan yang tepat. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jika Fill dipanggil dan DataSet hanya berisi satu DataTable yang namanya hanya berbeda menurut kasus, yang DataTable diperbarui. Dalam skenario ini, perbandingannya tidak peka huruf besar/kecil. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Anda dapat menggunakan Fill metode beberapa kali pada yang sama DataTable. Jika kunci primer ada, baris masuk digabungkan dengan baris yang cocok yang sudah ada. Jika tidak ada kunci primer, baris masuk ditambahkan ke DataTable.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi Fill dan FillSchema untuk penyedia data .NET Framework mengambil informasi skema hanya untuk hasil pertama.
Catatan Bagi Inheritor
Kelebihan metode Fill(DataSet) ini dilindungi dan dirancang untuk digunakan oleh penyedia data .NET Framework.
Lihat juga
Berlaku untuk
Fill(DataTable, IDataReader)
Menambahkan atau menyegarkan baris dalam DataTable agar sesuai dengan baris di sumber data menggunakan nama dan IDataReader yang ditentukanDataTable.
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDataReader ^ dataReader);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDataReader dataReader);
override this.Fill : System.Data.DataTable * System.Data.IDataReader -> int
Protected Overridable Function Fill (dataTable As DataTable, dataReader As IDataReader) As Integer
Parameter
- dataReader
- IDataReader
Nama IDataReader.
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan di DataTable. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Berlaku untuk
Fill(DataSet, String)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
public:
int Fill(System::Data::DataSet ^ dataSet, System::String ^ srcTable);
public int Fill (System.Data.DataSet dataSet, string srcTable);
override this.Fill : System.Data.DataSet * string -> int
Public Function Fill (dataSet As DataSet, srcTable As String) As Integer
Parameter
- srcTable
- String
Nama tabel sumber yang digunakan untuk pemetaan tabel.
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan di DataSet. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Pengecualian
Tabel sumber tidak valid.
Contoh
Contoh berikut menggunakan kelas turunan, OleDbDataAdapter, untuk mengisi DataSet dengan baris dari tabel kategori. Contoh ini mengasumsikan bahwa Anda telah membuat OleDbDataAdapter dan DataSet.
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet, "Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, "Categories")
End Sub
Keterangan
Metode mengambil Fill data dari sumber data menggunakan pernyataan SELECT. Objek IDbConnection yang terkait dengan perintah pilih harus valid, tetapi tidak perlu dibuka. IDbConnection Jika ditutup sebelum Fill dipanggil, data dibuka untuk mengambil data, lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Jika perintah tidak mengembalikan baris apa pun, tidak ada tabel yang ditambahkan ke DataSet, dan tidak ada pengecualian yang dimunculkan.
DbDataAdapter Jika objek menemukan kolom duplikat saat mengisi DataTable, objek akan menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya.
Saat kueri yang ditentukan mengembalikan beberapa hasil, setiap tataan hasil ditempatkan dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Karena tidak ada tabel yang dibuat untuk kueri yang tidak mengembalikan baris, jika Anda memproses kueri sisipan diikuti dengan kueri pilih, tabel yang dibuat untuk kueri pilih akan diberi nama "Tabel", karena tabel tersebut adalah tabel pertama yang dibuat. Jika aplikasi Anda menggunakan nama kolom dan tabel, pastikan tidak ada konflik dengan pola penamaan ini.
Metode ini Fill mendukung skenario di mana DataSet berisi beberapa DataTable objek yang namanya hanya berbeda menurut kasus. Dalam situasi seperti itu, Fill lakukan perbandingan peka huruf besar/kecil untuk menemukan tabel yang sesuai, dan membuat tabel baru jika tidak ada kecocokan yang tepat. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
dataset.Tables.Add("AAA");
adapter.Fill(dataset, "aaa"); // Fills "aaa", which already exists in the DataSet.
adapter.Fill(dataset, "Aaa"); // Adds a new table called "Aaa".
Jika Fill dipanggil dan DataSet hanya berisi satu DataTable yang namanya hanya berbeda menurut kasus, yang DataTable diperbarui. Dalam skenario ini, perbandingannya tidak peka huruf besar/kecil. Kode C# berikut mengilustrasikan perilaku ini.
DataSet dataset = new DataSet();
dataset.Tables.Add("aaa");
adapter.Fill(dataset, "AAA"); // Fills table "aaa" because only one similarly named table is in the DataSet.
Jika terjadi kesalahan atau pengecualian saat mengisi tabel data, baris yang ditambahkan sebelum terjadinya kesalahan tetap berada dalam tabel data. Sisa operasi dibatalkan.
Saat pernyataan SELECT yang digunakan untuk mengisi DataSet beberapa hasil, seperti pernyataan SQL batch, ketahui hal berikut:
- Jika salah satu hasil berisi kesalahan, semua hasil berikutnya dilewati dan tidak ditambahkan ke DataSet.
Saat menggunakan panggilan berikutnya Fill untuk me-refresh DataSetkonten , dua kondisi harus dipenuhi:
Pernyataan SQL harus cocok dengan yang awalnya digunakan untuk mengisi DataSet.
Informasi kolom Kunci harus ada. Jika informasi kunci primer ada, setiap baris duplikat direkonsiliasi dan hanya muncul sekali dalam DataTable yang sesuai dengan DataSet. Informasi kunci primer dapat diatur baik melalui FillSchema, dengan menentukan PrimaryKey properti dari DataTable, atau dengan mengatur MissingSchemaAction properti ke
AddWithKey
.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi FillSchema untuk Penyedia Data .NET Framework untuk OLE DB mengambil informasi skema hanya untuk hasil pertama. Untuk mengambil informasi skema untuk beberapa hasil, gunakan Fill dengan diatur MissingSchemaAction ke AddWithKey
.
Catatan Bagi Inheritor
Saat mengambil alih di kelas turunan Fill(DataSet) , pastikan untuk memanggil metode kelas Fill(DataSet) dasar.
Lihat juga
Berlaku untuk
Fill(DataSet)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
Menambahkan atau me-refresh baris di DataSet.
public:
override int Fill(System::Data::DataSet ^ dataSet);
public override int Fill (System.Data.DataSet dataSet);
override this.Fill : System.Data.DataSet -> int
Public Overrides Function Fill (dataSet As DataSet) As Integer
Parameter
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan di DataSet. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Penerapan
Keterangan
Metode mengambil Fill data dari sumber data menggunakan pernyataan SELECT. Objek IDbConnection yang terkait dengan perintah pilih harus valid, tetapi tidak perlu dibuka. IDbConnection Jika ditutup sebelum Fill dipanggil, data dibuka untuk mengambil data lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Jika terjadi kesalahan atau pengecualian saat mengisi tabel data, baris yang ditambahkan sebelum terjadinya kesalahan tetap berada dalam tabel data. Sisa operasi dibatalkan.
Jika perintah tidak mengembalikan baris apa pun, tidak ada tabel yang ditambahkan ke DataSet, dan tidak ada pengecualian yang dimunculkan.
DbDataAdapter Jika objek menemukan kolom duplikat saat mengisi DataTable, objek menghasilkan nama untuk kolom berikutnya menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya.
Saat kueri yang ditentukan mengembalikan beberapa hasil, tataan hasil untuk setiap baris yang mengembalikan kueri ditempatkan dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Karena tidak ada tabel yang dibuat untuk kueri yang tidak mengembalikan baris, jika Anda memproses kueri sisipan diikuti dengan kueri pemilih, tabel yang dibuat untuk kueri pemilih diberi nama "Tabel" karena tabel tersebut adalah tabel pertama yang dibuat. Jika aplikasi Anda menggunakan nama kolom dan tabel, pastikan tidak ada konflik dengan pola penamaan ini.
Ketika pernyataan SELECT yang digunakan untuk mengisi DataSet beberapa hasil, seperti pernyataan SQL batch, jika salah satu hasil berisi kesalahan, semua hasil berikutnya dilewati dan tidak ditambahkan ke DataSet.
Saat menggunakan panggilan berikutnya Fill untuk me-refresh DataSetkonten , dua kondisi harus dipenuhi:
Pernyataan SQL harus cocok dengan yang awalnya digunakan untuk mengisi DataSet.
Informasi kolom Kunci harus ada.
Jika informasi kunci primer ada, setiap baris duplikat direkonsiliasi dan hanya muncul sekali dalam DataTable yang sesuai dengan DataSet. Informasi kunci primer dapat diatur baik melalui FillSchema, dengan menentukan PrimaryKey properti dari DataTable, atau dengan mengatur MissingSchemaAction properti ke AddWithKey
.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi FillSchema untuk Penyedia Data .NET Framework untuk OLE DB mengambil informasi skema hanya untuk hasil pertama. Untuk mengambil informasi skema untuk beberapa hasil, gunakan Fill dengan diatur MissingSchemaAction ke AddWithKey
.
Lihat juga
Berlaku untuk
Fill(DataTable, IDbCommand, CommandBehavior)
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
- Sumber:
- DbDataAdapter.cs
Menambahkan atau me-refresh baris dalam DataTable agar sesuai dengan baris di sumber data menggunakan , IDbCommand dan CommandBehavioryang ditentukanDataTable.
protected:
virtual int Fill(System::Data::DataTable ^ dataTable, System::Data::IDbCommand ^ command, System::Data::CommandBehavior behavior);
protected virtual int Fill (System.Data.DataTable dataTable, System.Data.IDbCommand command, System.Data.CommandBehavior behavior);
override this.Fill : System.Data.DataTable * System.Data.IDbCommand * System.Data.CommandBehavior -> int
Protected Overridable Function Fill (dataTable As DataTable, command As IDbCommand, behavior As CommandBehavior) As Integer
Parameter
- command
- IDbCommand
Pernyataan SQL SELECT yang digunakan untuk mengambil baris dari sumber data.
- behavior
- CommandBehavior
Salah CommandBehavior satu nilai.
Mengembalikan
Jumlah baris yang berhasil ditambahkan atau disegarkan di DataTable. Ini tidak termasuk baris yang dipengaruhi oleh pernyataan yang tidak mengembalikan baris.
Keterangan
Metode mengambil Fill baris dari sumber data menggunakan pernyataan SELECT yang ditentukan oleh properti terkait SelectCommand . Objek koneksi yang terkait dengan pernyataan SELECT harus valid, tetapi tidak perlu dibuka. Jika koneksi ditutup sebelum Fill dipanggil, koneksi dibuka untuk mengambil data lalu ditutup. Jika koneksi terbuka sebelum Fill dipanggil, koneksi tetap terbuka.
Fill Operasi kemudian menambahkan baris ke objek tujuan DataTable yang ditentukan di DataSet, membuat DataTable objek jika belum ada. Saat membuat DataTable objek, Fill operasi biasanya hanya membuat metadata nama kolom. Namun, jika MissingSchemaAction properti diatur ke AddWithKey
, kunci dan batasan primer yang sesuai juga dibuat.
DbDataAdapter Jika objek menemukan kolom duplikat saat mengisi DataTable, objek akan menghasilkan nama untuk kolom berikutnya, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut ditempatkan sesuai DataSet dengan pola "Column1", "Column2", dan sebagainya.
Kelebihan beban Fill yang mengambil DataTable
sebagai parameter hanya mendapatkan hasil pertama. Gunakan kelebihan beban Fill yang mengambil DataSet
sebagai parameter untuk mendapatkan beberapa hasil.
Anda dapat menggunakan Fill metode beberapa kali pada yang sama DataTable. Jika kunci primer ada, baris masuk digabungkan dengan baris yang cocok yang sudah ada. Jika tidak ada kunci primer, baris masuk ditambahkan ke DataTable.
Jika SelectCommand
mengembalikan hasil GABUNGAN LUAR, maka DataAdapter
tidak akan mengatur nilai PrimaryKey untuk menghasilkan DataTable. Anda harus secara eksplisit menentukan kunci primer untuk memastikan bahwa baris duplikat diselesaikan dengan benar. Untuk informasi selengkapnya, lihat Menentukan Kunci Utama.
Catatan
Saat menangani pernyataan SQL batch yang mengembalikan beberapa hasil, implementasi FillSchema untuk Penyedia Data .NET Framework untuk OLE DB mengambil informasi skema hanya untuk hasil pertama. Untuk mengambil informasi skema untuk beberapa hasil, gunakan Fill dengan diatur MissingSchemaAction ke AddWithKey
.
Catatan Bagi Inheritor
Kelebihan metode Fill(DataSet) ini dilindungi dan dirancang untuk digunakan oleh penyedia data .NET Framework.