DataAdapter.FillSchema 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
FillSchema(DataSet, SchemaType, String, IDataReader) | |
FillSchema(DataSet, SchemaType) |
DataTable Menambahkan ke yang ditentukan DataSet dan mengonfigurasi skema agar sesuai dengan yang ada di sumber data berdasarkan yang ditentukanSchemaType. |
FillSchema(DataTable, SchemaType, IDataReader) |
FillSchema(DataSet, SchemaType, String, IDataReader)
- Sumber:
- DataAdapter.cs
- Sumber:
- DataAdapter.cs
- Sumber:
- DataAdapter.cs
protected:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType, System::String ^ srcTable, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType, string srcTable, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType * string * System.Data.IDataReader -> System.Data.DataTable[]
Protected Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType, srcTable As String, dataReader As IDataReader) As DataTable()
Parameter
- dataSet
- DataSet
yang DataTable akan diisi dari IDataReader.
- schemaType
- SchemaType
Salah SchemaType satu nilai.
- srcTable
- String
Nama tabel sumber yang digunakan untuk pemetaan tabel.
- dataReader
- IDataReader
yang IDataReader akan digunakan sebagai sumber data saat mengisi DataTable.
Mengembalikan
Referensi ke kumpulan DataTable objek yang ditambahkan ke DataSet.
Lihat juga
Berlaku untuk
FillSchema(DataSet, SchemaType)
- Sumber:
- DataAdapter.cs
- Sumber:
- DataAdapter.cs
- Sumber:
- DataAdapter.cs
DataTable Menambahkan ke yang ditentukan DataSet dan mengonfigurasi skema agar sesuai dengan yang ada di sumber data berdasarkan yang ditentukanSchemaType.
public:
virtual cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public:
abstract cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public virtual System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
public abstract System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
override this.FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Overridable Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Public MustOverride Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()
Parameter
- schemaType
- SchemaType
Salah SchemaType satu nilai.
Mengembalikan
Objek DataTable yang berisi informasi skema yang dikembalikan dari sumber data.
Penerapan
Keterangan
Metode mengambil FillSchema skema dari sumber data menggunakan SelectCommand. Objek koneksi yang SelectCommand terkait dengan harus valid, tetapi tidak perlu dibuka. Jika koneksi ditutup sebelum FillSchema dipanggil, koneksi dibuka untuk mengambil data lalu ditutup. Jika koneksi terbuka sebelum FillSchema dipanggil, koneksi tetap terbuka.
FillSchema Operasi menambahkan DataTable ke tujuan DataSet. Kemudian menambahkan kolom ke DataColumnCollection dari DataTable, dan mengonfigurasi properti berikut DataColumn jika ada di sumber data:
AutoIncrement. Anda harus mengatur AutoIncrementStep dan AutoIncrementSeed secara terpisah.
FillSchema juga mengonfigurasi PrimaryKey properti dan Constraints sesuai dengan aturan berikut:
Jika satu atau beberapa kolom kunci primer dikembalikan oleh SelectCommand, kolom tersebut digunakan sebagai kolom kunci utama untuk DataTable.
Jika tidak ada kolom kunci primer yang dikembalikan tetapi kolom unik adalah, kolom unik digunakan sebagai kunci utama jika, dan hanya jika, semua kolom unik tidak dapat dipulihkan. Jika salah satu kolom dapat diubah ke null, UniqueConstraint ditambahkan ke ConstraintCollection, tetapi PrimaryKey properti tidak diatur.
Jika kolom kunci primer dan kolom unik dikembalikan, kolom kunci primer digunakan sebagai kolom kunci primer untuk DataTable.
Catatan
Penyimpanan data yang mendasar dapat memungkinkan atribut kolom yang tidak didukung dalam DataColumn, yang menyebabkan beberapa atribut kolom tidak diterjemahkan dengan benar. Misalnya, SQL Server memungkinkan kolom identitas dengan jenis data tinyint sedangkan DataColumn hanya memungkinkan Int16, Int32, dan Int64 memiliki AutoIncrement kumpulan properti. FillSchema
secara diam-diam DataColumn mengabaikan kasus di mana tidak dapat mencerminkan sumber data secara akurat dan tidak melemparkan pengecualian.
Perhatikan bahwa kunci primer dan batasan unik ditambahkan ke ConstraintCollection sesuai dengan aturan sebelumnya, tetapi jenis batasan lainnya tidak ditambahkan.
Jika indeks berkluster unik ditentukan pada kolom atau kolom dalam tabel SQL Server dan batasan kunci primer ditentukan pada sekumpulan kolom terpisah, maka nama kolom dalam indeks berkluster akan dikembalikan. Untuk mengembalikan nama atau nama kolom kunci primer, gunakan petunjuk kueri dengan pernyataan SELECT yang menentukan nama indeks kunci utama. Untuk informasi selengkapnya tentang menentukan petunjuk kueri, lihat Petunjuk (Transact-SQL) - Kueri.
DataAdapter 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). Aplikasi yang menggunakan nama kolom dan tabel harus memastikan bahwa konflik dengan pola penamaan ini tidak terjadi.
FillSchema tidak mengembalikan baris apa pun. Fill Gunakan metode untuk menambahkan baris 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
FillSchema(DataTable, SchemaType, IDataReader)
- Sumber:
- DataAdapter.cs
- Sumber:
- DataAdapter.cs
- Sumber:
- DataAdapter.cs
protected:
virtual System::Data::DataTable ^ FillSchema(System::Data::DataTable ^ dataTable, System::Data::SchemaType schemaType, System::Data::IDataReader ^ dataReader);
protected virtual System.Data.DataTable? FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
protected virtual System.Data.DataTable FillSchema (System.Data.DataTable dataTable, System.Data.SchemaType schemaType, System.Data.IDataReader dataReader);
abstract member FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
override this.FillSchema : System.Data.DataTable * System.Data.SchemaType * System.Data.IDataReader -> System.Data.DataTable
Protected Overridable Function FillSchema (dataTable As DataTable, schemaType As SchemaType, dataReader As IDataReader) As DataTable
Parameter
- dataTable
- DataTable
yang DataTable akan diisi dari IDataReader.
- schemaType
- SchemaType
Salah SchemaType satu nilai.
- dataReader
- IDataReader
yang IDataReader akan digunakan sebagai sumber data saat mengisi DataTable.
Mengembalikan
Objek DataTable yang berisi informasi skema yang dikembalikan dari sumber data.