Share via


IDataAdapter.FillSchema(DataSet, SchemaType) Metode

Definisi

DataTable Menambahkan "Tabel" bernama ke yang ditentukan DataSet dan mengonfigurasi skema agar sesuai dengan yang ada di sumber data berdasarkan yang ditentukanSchemaType.

public:
 cli::array <System::Data::DataTable ^> ^ FillSchema(System::Data::DataSet ^ dataSet, System::Data::SchemaType schemaType);
public System.Data.DataTable[] FillSchema (System.Data.DataSet dataSet, System.Data.SchemaType schemaType);
abstract member FillSchema : System.Data.DataSet * System.Data.SchemaType -> System.Data.DataTable[]
Public Function FillSchema (dataSet As DataSet, schemaType As SchemaType) As DataTable()

Parameter

dataSet
DataSet

yang DataSet akan diisi dengan skema dari sumber data.

schemaType
SchemaType

Salah SchemaType satu nilai.

Mengembalikan

Array DataTable objek yang berisi informasi skema yang dikembalikan dari sumber data.

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:

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, kolom unik digunakan sebagai kunci utama jika semua kolom unik tidak dapat diubah ke null. 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.

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 utama ditentukan pada sekumpulan kolom terpisah, maka nama kolom dalam indeks berkluster akan dikembalikan. Untuk mengembalikan nama atau nama kolom kunci utama, gunakan petunjuk kueri dengan pernyataan SELECT yang menentukan nama indeks kunci utama. Untuk informasi selengkapnya tentang cara menentukan petunjuk kueri, lihat Petunjuk (Transact-SQL) - Kueri.

IDataAdapter Jika menemukan kolom duplikat saat mengisi DataTable, kolom menghasilkan nama untuk kolom berturut-turut, menggunakan pola "columnname1", "columnname2", "columnname3", dan sebagainya. Jika data masuk berisi kolom yang tidak disebutkan namanya, data tersebut dimasukkan DataSet sesuai dengan pola "Column1", "Column2", dan sebagainya. Ketika beberapa tataan hasil ditambahkan ke DataSet, setiap tataan hasil dimasukkan ke dalam tabel terpisah. Tataan hasil tambahan dinamai dengan menambahkan nilai integral ke nama tabel yang ditentukan (misalnya, "Tabel", "Table1", "Table2", dan sebagainya). Aplikasi harus berhati-hati saat menggunakan nama kolom dan tabel untuk memastikan bahwa konflik dengan pola penamaan ini tidak terjadi.

FillSchema tidak mengembalikan baris. Fill Gunakan metode untuk menambahkan baris ke DataTable.

Berlaku untuk

Lihat juga