DbDataAdapter.Fill Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior) |
ve kaynak tablo adlarını, komut dizesini DataSet ve komut davranışını kullanarak DataSet veri kaynağındakilerle eşleşecek şekilde içinde belirtilen aralıktaki satırları ekler veya yeniler. |
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior) |
ve DataTable adlarını kullanarak DataSet veri kaynağındakilerle eşleşecek şekilde içinde belirtilen aralıktaki DataSet satırları ekler veya yeniler. |
Fill(DataSet, String, IDataReader, Int32, Int32) |
, DataTableve IDataReader adlarını kullanarak DataSetveri kaynağındakilerle eşleşecek şekilde içinde belirtilen aralıktaki DataSet satırları ekler veya yeniler. |
Fill(DataSet, Int32, Int32, String) |
ve DataTable adlarını kullanarak DataSet veri kaynağındakilerle eşleşecek şekilde içinde belirtilen aralıktaki DataSet satırları ekler veya yeniler. |
Fill(Int32, Int32, DataTable[]) |
Bir veya daha fazla DataTable nesnedeki satırları, belirtilen kayıtta başlayan ve belirtilen kayıt sayısı üst sınırına kadar alan veri kaynağındakilerle eşleşecek şekilde ekler veya yeniler. |
Fill(DataTable) |
veri kaynağındakilerle eşleşecek şekilde belirtilen aralıktaki DataSet satırları adı kullanarak DataTable ekler veya yeniler. |
Fill(DataTable, IDataReader) |
Belirtilen DataTable ve IDataReader adlarını kullanarak veri kaynağındakilerle eşleşecek şekilde içindeki DataTable satırları ekler veya yeniler. |
Fill(DataSet, String) |
ve DataTable adlarını kullanarak DataSet veri kaynağındakilerle DataSet eşleşecek şekilde içindeki satırları ekler veya yeniler. |
Fill(DataSet) |
içindeki DataSetsatırları ekler veya yeniler. |
Fill(DataTable, IDbCommand, CommandBehavior) |
Belirtilen DataTableIDbCommand ve CommandBehaviorkullanarak veri kaynağındakilerle eşleşecek şekilde içindeki DataTable satırları ekler veya yeniler. |
Fill(DataSet, Int32, Int32, String, IDbCommand, CommandBehavior)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- 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
Parametreler
- startRecord
- Int32
Başlangıç olarak sıfır tabanlı kayıt numarası.
- maxRecords
- Int32
Alınacak en fazla kayıt sayısı. Başlangıç kaydından sonraki tüm kayıtları almak için 0 belirtin.
- srcTable
- String
Tablo eşlemesi için kullanılacak kaynak tablonun adı.
- command
- IDbCommand
Veri kaynağından satırları almak için kullanılan SQL SELECT deyimi.
- behavior
- CommandBehavior
Değerlerden CommandBehavior biri.
Döndürülenler
içine başarıyla eklenen veya içinde DataSetyenilenen satır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Özel durumlar
Kaynak tablo geçersiz.
Açıklamalar
maxRecords
0 değeri, başlangıç kaydından sonra bulunan tüm kayıtları alır. Kalan satır sayısından büyükse maxRecords
, yalnızca kalan satırlar döndürülür ve hata verilmez.
yöntemi, Fill ilişkili SelectCommand bir özellik tarafından belirtilen SELECT deyimini kullanarak veri kaynağından satırları alır. SELECT deyimiyle ilişkilendirilmiş bağlantı nesnesinin geçerli olması gerekir, ancak açık olması gerekmez. Bağlantı çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
İşlem Fill daha sonra satırları içindeki DataSethedef DataTable nesnelere ekler ve henüz mevcut değilse nesneleri oluştururDataTable. Nesne oluştururken DataTable işlem Fill normalde yalnızca sütun adı meta verileri oluşturur. Ancak, özelliği olarak AddWithKey
ayarlanırsaMissingSchemaAction, uygun birincil anahtarlar ve kısıtlamalar da oluşturulur.
bir doldurma DataTablesırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" vb. desenini kullanarak izleyen sütunlar için adlar oluşturur.DbDataAdapter Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre yerleştirilir DataSet . Her sonuç kümesine DataSet birden çok sonuç kümesi eklendiğinde ayrı bir tabloya yerleştirilir. Ek sonuç kümeleri belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Uygulamanız sütun ve tablo adları kullanıyorsa, bu adlandırma desenleriyle çakışma olmadığından emin olun.
yöntemi, Fill adları yalnızca büyük/küçük harfe DataSet göre farklılık gösteren birden çok DataTable nesne içeren senaryoları destekler. Böyle durumlarda, Fill karşılık gelen tabloyu bulmak için büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir ve tam eşleşme yoksa yeni bir tablo oluşturur. Aşağıdaki C# kodu bu davranışı gösterir.
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".
çağrılırsa Fill ve DataSet adı yalnızca büyük/küçük harfe göre farklılık gösteren bir DataTable ad içeriyorsa, bu DataTable güncelleştirilir. Bu senaryoda, karşılaştırma büyük/küçük harfe duyarsızdır. Aşağıdaki C# kodu bu davranışı gösterir.
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.
yöntemini aynı DataTableüzerinde birden çok kez kullanabilirsinizFill. Birincil anahtar varsa, gelen satırlar zaten var olan eşleşen satırlarla birleştirilir. Birincil anahtar yoksa, gelen satırlar öğesine DataTableeklenir.
SelectCommand
bir OUTER JOIN sonucunu döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Not
Birden çok sonuç döndüren batch SQL deyimlerini işlerken, bir .NET Framework veri sağlayıcısı için ve FillSchema uygulaması Fill yalnızca ilk sonuç için şema bilgilerini alır.
Devralanlara Notlar
Yöntemin Fill(DataSet) bu aşırı yüklemesi korunur ve .NET Framework veri sağlayıcısı tarafından kullanılmak üzere tasarlanmıştır.
Ayrıca bkz.
Şunlara uygulanır
Fill(DataTable[], Int32, Int32, IDbCommand, CommandBehavior)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- 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
Parametreler
- startRecord
- Int32
Başlangıç olarak sıfır tabanlı kayıt numarası.
- maxRecords
- Int32
Alınacak en fazla kayıt sayısı. Başlangıç kaydından sonraki tüm kayıtları almak için 0 belirtin.
- command
- IDbCommand
IDbCommand nesneleri doldurmak için yürütülürDataTable.
- behavior
- CommandBehavior
Değerlerden CommandBehavior biri.
Döndürülenler
Veri tablolarına eklenen veya yenilenen satır sayısı.
Özel durumlar
DataSet geçersiz.
Bağlantı bulunamadı.
Açıklamalar
maxRecords
0 değeri, başlangıç kaydından sonra bulunan tüm kayıtları alır. Kalan satır sayısından büyükse maxRecords
, yalnızca kalan satırlar döndürülür ve hata verilmez.
yöntemi, Fill select deyimini kullanarak veri kaynağından verileri alır. IDbConnection SELECT deyimiyle ilişkilendirilmiş nesne geçerli olmalıdır, ancak açık olması gerekmez. IDbConnection çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
Komut herhangi bir satır döndürmezse, öğesine DataSettablo eklenmez, ancak özel durum tetiklenmez.
Nesnesi bir DataTabledoldurma sırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" desenini kullanarak sonraki sütunlar için adlar oluşturur.DbDataAdapter Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre yerleştirilir DataSet .
Belirtilen sorgu birden çok sonuç döndürdüğünde, her sonuç kümesi ayrı bir tabloya yerleştirilir. Ek sonuç kümeleri belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Satır döndürmeyen bir sorgu için tablo oluşturulmadığından, ekleme sorgusunu ve ardından seçme sorgusunu işlerseniz, seçme sorgusu için oluşturulan tablo, oluşturulan ilk tablo olduğundan "Tablo" olarak adlandırılır. Uygulamanız sütun ve tablo adları kullanıyorsa, bu adlandırma desenleriyle çakışma olmadığından emin olun.
yöntemi, Fill adları yalnızca büyük/küçük harfe DataSet göre farklılık gösteren birden çok DataTable nesne içeren senaryoları destekler. Böyle durumlarda, Fill karşılık gelen tabloyu bulmak için büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir ve tam eşleşme yoksa yeni bir tablo oluşturur. Aşağıdaki C# kodu bu davranışı gösterir.
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".
çağrılırsa Fill ve DataSet adı yalnızca büyük/küçük harfe göre farklılık gösteren bir DataTable ad içeriyorsa, bu DataTable güncelleştirilir. Bu senaryoda, karşılaştırma büyük/küçük harfe duyarsızdır. Aşağıdaki C# kodu bu davranışı gösterir.
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.
Veri tabloları doldurulırken bir hata veya özel durumla karşılaşılırsa, hatanın oluşmasından önce eklenen satırlar veri tablolarında kalır. İşlemin geri kalanı durduruldu.
Nesneleri doldurmak DataTable için kullanılan SELECT deyimi toplu SQL deyimi gibi birden çok sonuç döndürdüğünde, aşağıdakilere dikkat edin:
Batch SQL deyiminden birden çok sonuç işlenirken yalnızca
maxRecords
ilk sonuca uygulanır. Aynı durum bölümlenmiş sonuçlar içeren satırlar için de geçerlidir (yalnızca OLE DB için Veri Sağlayıcısı .NET Framework). En üst düzey sonuç ilemaxRecords
sınırlıdır, ancak tüm alt satırlar eklenir.Sonuçlardan biri hata içeriyorsa, sonraki tüm sonuçlar atlanır.
Not
, DataSet
tarafından maxRecords
belirtilen kayıt sayısından fazlasını içermez. Ancak, sorgu tarafından oluşturulan sonuç kümesinin tamamı sunucudan döndürülür.
Devralanlara Notlar
Türetilmiş bir sınıfta geçersiz kıldığınızda Fill(DataSet) , temel sınıfın Fill(DataSet) yöntemini çağırdığınızdan emin olun.
Ayrıca bkz.
Şunlara uygulanır
Fill(DataSet, String, IDataReader, Int32, Int32)
, DataTableve IDataReader adlarını kullanarak DataSetveri kaynağındakilerle eşleşecek şekilde içinde belirtilen aralıktaki DataSet satırları ekler veya yeniler.
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
Parametreler
- dataReader
- IDataReader
IDataReader öğesinin adı.
- startRecord
- Int32
Başlangıç olarak sıfır tabanlı kayıt numarası.
- maxRecords
- Int32
Alınacak en fazla kayıt sayısı. Başlangıç kaydından sonraki tüm kayıtları almak için 0 belirtin.
Döndürülenler
içine başarıyla eklenen veya içinde DataSetyenilenen satır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Özel durumlar
Açıklamalar
maxRecords
0 değeri, başlangıç kaydından sonra bulunan tüm kayıtları alır. Kalan satır sayısından büyükse maxRecords
, yalnızca kalan satırlar döndürülür ve hata verilmez.
Şunlara uygulanır
Fill(DataSet, Int32, Int32, String)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- 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
Parametreler
- startRecord
- Int32
Başlangıç olarak sıfır tabanlı kayıt numarası.
- maxRecords
- Int32
Alınacak en fazla kayıt sayısı. Başlangıç kaydından sonraki tüm kayıtları almak için 0 belirtin.
- srcTable
- String
Tablo eşlemesi için kullanılacak kaynak tablonun adı.
Döndürülenler
içine başarıyla eklenen veya içinde DataSetyenilenen satır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Özel durumlar
DataSet geçersiz.
Bağlantı bulunamadı.
Örnekler
Aşağıdaki örnek, OleDbDataAdapterKategoriler tablosundan 10. satırdan başlayarak 15 satırla doldurmak DataSet için türetilmiş sınıfını kullanır. Bu örnekte bir ve DataSetoluşturduğunuz OleDbDataAdapter varsayılır.
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
Açıklamalar
maxRecords
0 değeri, başlangıç kaydından sonra bulunan tüm kayıtları alır. Kalan satır sayısından büyükse maxRecords
, yalnızca kalan satırlar döndürülür ve hata verilmez.
Karşılık gelen select komutu birden çok sonuç döndüren bir deyimse, Fill yalnızca ilk sonuca uygulanır maxRecords
.
yöntemi, Fill select deyimini kullanarak veri kaynağından verileri alır. IDbConnection SELECT deyimiyle ilişkilendirilmiş nesne geçerli olmalıdır, ancak açık olması gerekmez. IDbConnection çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
Komut herhangi bir satır döndürmezse, öğesine DataSettablo eklenmez, ancak özel durum tetiklenmez.
Nesnesi bir DataTabledoldurma sırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" desenini kullanarak sonraki sütunlar için adlar oluşturur.DbDataAdapter Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre yerleştirilir DataSet .
Belirtilen sorgu birden çok sonuç döndürdüğünde, her sonuç kümesi ayrı bir tabloya yerleştirilir. Ek sonuç kümeleri belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Satır döndürmeyen bir sorgu için tablo oluşturulmadığından, ekleme sorgusunu ve ardından seçme sorgusunu işlerseniz, seçme sorgusu için oluşturulan tablo, oluşturulan ilk tablo olduğundan "Tablo" olarak adlandırılır. Uygulamanız sütun ve tablo adları kullanıyorsa, bu adlandırma desenleriyle çakışma olmadığından emin olun.
yöntemi, Fill adları yalnızca büyük/küçük harfe DataSet göre farklılık gösteren birden çok DataTable nesne içeren senaryoları destekler. Böyle durumlarda, Fill karşılık gelen tabloyu bulmak için büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir ve tam eşleşme yoksa yeni bir tablo oluşturur. Aşağıdaki C# kodu bu davranışı gösterir.
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".
çağrılırsa Fill ve DataSet adı yalnızca büyük/küçük harfe göre farklılık gösteren bir DataTable ad içeriyorsa, bu DataTable güncelleştirilir. Bu senaryoda, karşılaştırma büyük/küçük harfe duyarsızdır. Aşağıdaki C# kodu bu davranışı gösterir.
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.
Veri tabloları doldurulırken bir hata veya özel durumla karşılaşılırsa, hatanın oluşmasından önce eklenen satırlar veri tablolarında kalır. İşlemin geri kalanı durduruldu.
öğesini doldurmak DataSet için kullanılan SELECT deyimi toplu SQL deyimleri gibi birden çok sonuç döndürdüğünde aşağıdakilere dikkat edin:
Batch SQL deyiminden birden çok sonuç işlenirken yalnızca
maxRecords
ilk sonuca uygulanır. Aynı durum bölümlenmiş sonuçlar içeren satırlar için de geçerlidir (yalnızca OLE DB için Veri Sağlayıcısı .NET Framework). En üst düzey sonuç ilemaxRecords
sınırlıdır, ancak tüm alt satırlar eklenir.Sonuçlardan biri hata içeriyorsa, sonraki tüm sonuçlar atlanır ve öğesine DataSeteklenmez.
içeriğini DataSetyenilemek için sonraki Fill çağrılar kullanılırken iki koşul karşılanmalıdır:
SQL deyimi başlangıçta öğesini doldurmak için kullanılan deyimle DataSeteşleşmelidir.
Anahtar sütun bilgileri mevcut olmalıdır.
Birincil anahtar bilgileri varsa, yinelenen satırlar uzlaştırılır ve içinde öğesine karşılık gelen DataSetyalnızca bir kez DataTable görünür. Birincil anahtar bilgileri aracılığıyla, özelliğini belirterek PrimaryKey veya özelliği DataTableolarak AddWithKey
ayarlanarak MissingSchemaAction ayarlanabilirFillSchema.
SelectCommand
bir OUTER JOIN sonucunu döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Not
Birden çok sonuç döndüren toplu SQL deyimlerini işlerken, FillSchema OLE DB için .NET Framework Veri Sağlayıcısı uygulaması yalnızca ilk sonuç için şema bilgilerini alır. Birden çok sonuç için şema bilgilerini almak için olarak ayarlanmış AddWithKey
olarak MissingSchemaAction kullanınFill.
Not
, DataSet
tarafından maxRecords
belirtilen kayıt sayısından fazlasını içermez. Ancak, sorgu tarafından oluşturulan sonuç kümesinin tamamı sunucudan döndürülür.
Devralanlara Notlar
Türetilmiş bir sınıfta geçersiz kıldığınızda Fill(DataSet) , temel sınıfın Fill(DataSet) yöntemini çağırdığınızdan emin olun.
Ayrıca bkz.
Şunlara uygulanır
Fill(Int32, Int32, DataTable[])
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
Bir veya daha fazla DataTable nesnedeki satırları, belirtilen kayıtta başlayan ve belirtilen kayıt sayısı üst sınırına kadar alan veri kaynağındakilerle eşleşecek şekilde ekler veya yeniler.
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
Parametreler
- startRecord
- Int32
Başlangıç olarak sıfır tabanlı kayıt numarası.
- maxRecords
- Int32
Alınacak en fazla kayıt sayısı. Başlangıç kaydından sonraki tüm kayıtları almak için 0 belirtin.
Döndürülenler
Nesnelere başarıyla eklenen veya yenilenen DataTable satır sayısı. Bu değer, satır döndürmeyen deyimlerden etkilenen satırları içermez.
Özel durumlar
dataTables
null
veya boş bir dizidir.
Açıklamalar
maxRecords
0 değeri, başlangıç kaydından sonra bulunan tüm kayıtları alır. Kalan satır sayısından büyükse maxRecords
, yalnızca kalan satırlar döndürülür ve hata verilmez.
yöntemi, Fill ilişkili SelectCommand bir özellik tarafından belirtilen SELECT deyimini kullanarak veri kaynağından satırları alır. SELECT deyimiyle ilişkilendirilmiş bağlantı nesnesinin geçerli olması gerekir, ancak açık olması gerekmez. Bağlantı çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
İşlem Fill daha sonra satırları içindeki DataSethedef DataTable nesnelere ekler ve henüz mevcut değilse nesneleri oluştururDataTable. Nesne oluştururken DataTable işlem Fill normalde yalnızca sütun adı meta verileri oluşturur. Ancak, özelliği olarak AddWithKey
ayarlanırsaMissingSchemaAction, uygun birincil anahtarlar ve kısıtlamalar da oluşturulur.
SelectCommand
bir OUTER JOIN sonucunu döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Veri bağdaştırıcısı bir DataTabledoldurma sırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" desenini kullanarak sonraki sütunlar için adlar oluşturur. Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre yerleştirilir DataSet . öğesine birden çok sonuç kümesi eklendiğinde DataSet, her sonuç kümesi ayrı bir tabloya yerleştirilir. Ek sonuç kümeleri belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Uygulamanız sütun ve tablo adları kullanıyorsa, bu adlandırma desenleriyle çakışma olmadığından emin olun.
öğesini doldurmak DataSet için kullanılan SELECT deyimi toplu SQL deyimleri gibi birden çok sonuç döndürdüğünde, sonuçlardan biri hata içeriyorsa, sonraki tüm sonuçlar atlanır ve öğesine DataSeteklenmez.
yöntemini aynı DataTableüzerinde birden çok kez kullanabilirsinizFill. Birincil anahtar varsa, gelen satırlar zaten var olan eşleşen satırlarla birleştirilir. Birincil anahtar yoksa, gelen satırlar öğesine DataTableeklenir.
Not
Birden çok sonuç döndüren toplu SQL deyimlerini işlerken, FillSchema OLE DB için .NET Framework Veri Sağlayıcısı uygulaması yalnızca ilk sonuç için şema bilgilerini alır. Birden çok sonuç için şema bilgilerini almak için olarak ayarlanmış AddWithKey
olarak MissingSchemaAction kullanınFill.
Ayrıca bkz.
Şunlara uygulanır
Fill(DataTable)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- 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
Parametreler
Döndürülenler
içine başarıyla eklenen veya içinde DataSetyenilenen satır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Özel durumlar
Kaynak tablo geçersiz.
Açıklamalar
yöntemi, Fill ilişkili SelectCommand bir özellik tarafından belirtilen SELECT deyimini kullanarak veri kaynağından satırları alır. SELECT deyimiyle ilişkilendirilmiş bağlantı nesnesinin geçerli olması gerekir, ancak açık olması gerekmez. Bağlantı çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
İşlem Fill daha sonra satırları içindeki DataSethedef DataTable nesnelere ekler ve henüz mevcut değilse nesneleri oluştururDataTable. Nesne oluştururken DataTable işlem Fill normalde yalnızca sütun adı meta verileri oluşturur. Ancak, özelliği olarak AddWithKey
ayarlanırsaMissingSchemaAction, uygun birincil anahtarlar ve kısıtlamalar da oluşturulur.
bir doldurma DataTablesırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" vb. desenini kullanarak izleyen sütunlar için adlar oluşturur.DbDataAdapter Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre yerleştirilir DataSet . Her sonuç kümesine DataSet birden çok sonuç kümesi eklendiğinde ayrı bir tabloya yerleştirilir.
parametresi olarak alan DataTable
aşırı yüklemesi Fill yalnızca ilk sonucu alır. Birden çok sonuç elde etmek için parametresi olarak alan DataSet
aşırı yüklemesini Fill kullanın.
yöntemi, Fill adları yalnızca büyük/küçük harfe DataSet göre farklılık gösteren birden çok DataTable nesne içeren senaryoları destekler. Böyle durumlarda, Fill karşılık gelen tabloyu bulmak için büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir ve tam eşleşme yoksa yeni bir tablo oluşturur. Aşağıdaki C# kodu bu davranışı gösterir.
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".
çağrılırsa Fill ve DataSet adı yalnızca büyük/küçük harfe göre farklılık gösteren bir DataTable ad içeriyorsa, bu DataTable güncelleştirilir. Bu senaryoda, karşılaştırma büyük/küçük harfe duyarsızdır. Aşağıdaki C# kodu bu davranışı gösterir.
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.
yöntemini aynı DataTableüzerinde birden çok kez kullanabilirsinizFill. Birincil anahtar varsa, gelen satırlar zaten var olan eşleşen satırlarla birleştirilir. Birincil anahtar yoksa, gelen satırlar öğesine DataTableeklenir.
SelectCommand
bir OUTER JOIN sonucunu döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Not
Birden çok sonuç döndüren batch SQL deyimlerini işlerken, bir .NET Framework veri sağlayıcısı için ve FillSchema uygulaması Fill yalnızca ilk sonuç için şema bilgilerini alır.
Devralanlara Notlar
Yöntemin Fill(DataSet) bu aşırı yüklemesi korunur ve .NET Framework veri sağlayıcısı tarafından kullanılmak üzere tasarlanmıştır.
Ayrıca bkz.
Şunlara uygulanır
Fill(DataTable, IDataReader)
Belirtilen DataTable ve IDataReader adlarını kullanarak veri kaynağındakilerle eşleşecek şekilde içindeki DataTable satırları ekler veya yeniler.
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
Parametreler
- dataReader
- IDataReader
IDataReader öğesinin adı.
Döndürülenler
içine başarıyla eklenen veya içinde DataTableyenilenen satır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Şunlara uygulanır
Fill(DataSet, String)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- 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
Parametreler
- srcTable
- String
Tablo eşlemesi için kullanılacak kaynak tablonun adı.
Döndürülenler
içine başarıyla eklenen veya yenilenen DataSetsatır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Özel durumlar
Kaynak tablo geçersiz.
Örnekler
Aşağıdaki örnek, OleDbDataAdapterkategoriler tablosundaki satırlarla doldurmak DataSet için türetilmiş sınıfını kullanır. Bu örnekte bir ve DataSetoluşturduğunuz OleDbDataAdapter varsayılır.
public void GetRecords()
{
// ...
// create dataSet and adapter
// ...
adapter.Fill(dataSet, "Categories");
}
Public Sub GetRecords()
' ...
' create dataSet and adapter
' ...
adapter.Fill(dataSet, "Categories")
End Sub
Açıklamalar
yöntemi, Fill select deyimini kullanarak veri kaynağından verileri alır. IDbConnection select komutuyla ilişkilendirilmiş nesne geçerli olmalıdır, ancak açık olması gerekmez. IDbConnection çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
Komut herhangi bir satır döndürmezse, öğesine DataSettablo eklenmez ve özel durum tetiklenmez.
DbDataAdapter Nesnesi bir DataTabledoldurma sırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname2", "columnname3" vb. desenini kullanarak sonraki sütunlar için adlar oluşturur. Gelen veriler adsız sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre yerleştirilir DataSet .
Belirtilen sorgu birden çok sonuç döndürdüğünde, her sonuç kümesi ayrı bir tabloya yerleştirilir. Ek sonuç kümeleri belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Satır döndürmeyen bir sorgu için tablo oluşturulmadığından, ekleme sorgusunu ve ardından seçme sorgusunu işlerseniz, seçme sorgusu için oluşturulan tablo, oluşturulan ilk tablo olduğundan "Tablo" olarak adlandırılır. Uygulamanız sütun ve tablo adları kullanıyorsa, bu adlandırma desenleriyle çakışma olmadığından emin olun.
yöntemi, Fill adları yalnızca büyük/küçük harfe DataSet göre farklılık gösteren birden çok DataTable nesne içeren senaryoları destekler. Böyle durumlarda, Fill karşılık gelen tabloyu bulmak için büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir ve tam eşleşme yoksa yeni bir tablo oluşturur. Aşağıdaki C# kodu bu davranışı gösterir.
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".
çağrılırsa Fill ve DataSet adı yalnızca büyük/küçük harfe göre farklılık gösteren bir DataTable ad içeriyorsa, bu DataTable güncelleştirilir. Bu senaryoda, karşılaştırma büyük/küçük harfe duyarsızdır. Aşağıdaki C# kodu bu davranışı gösterir.
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.
Veri tabloları doldurulırken bir hata veya özel durumla karşılaşılırsa, hatanın oluşmasından önce eklenen satırlar veri tablolarında kalır. İşlemin geri kalanı durduruldu.
öğesini doldurmak DataSet için kullanılan SELECT deyimi toplu SQL deyimi gibi birden çok sonuç döndürdüğünde aşağıdakilere dikkat edin:
- Sonuçlardan biri hata içeriyorsa, sonraki tüm sonuçlar atlanır ve öğesine DataSeteklenmez.
içeriğini DataSetyenilemek için sonraki Fill çağrılar kullanılırken iki koşul karşılanmalıdır:
SQL deyimi başlangıçta öğesini doldurmak için kullanılan deyimle DataSeteşleşmelidir.
Anahtar sütun bilgileri mevcut olmalıdır. Birincil anahtar bilgileri varsa, yinelenen satırlar uzlaştırılır ve içinde DataTable öğesine karşılık gelen DataSetyalnızca bir kez görünür. Birincil anahtar bilgileri aracılığıyla, özelliğini belirterek PrimaryKey veya özelliği DataTableolarak
AddWithKey
ayarlanarak MissingSchemaAction ayarlanabilirFillSchema.
bir SelectCommand
OUTER JOIN'in sonuçlarını döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Not
Birden çok sonuç döndüren batch SQL deyimlerini işlerken, OLE DB için .NET Framework Veri Sağlayıcısı'nın uygulaması FillSchema yalnızca ilk sonuç için şema bilgilerini alır. Birden çok sonucun şema bilgilerini almak için, Fill ile değerini MissingSchemaAction olarak AddWithKey
ayarlayın.
Devralanlara Notlar
Türetilmiş bir sınıfta geçersiz kıldığınızda Fill(DataSet) , temel sınıfın Fill(DataSet) yöntemini çağırdığınızdan emin olun.
Ayrıca bkz.
Şunlara uygulanır
Fill(DataSet)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
içindeki DataSetsatırları ekler veya yeniler.
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
Parametreler
Döndürülenler
içine başarıyla eklenen veya yenilenen DataSetsatır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Uygulamalar
Açıklamalar
yöntemi, Fill select deyimini kullanarak veri kaynağından verileri alır. IDbConnection Select komutuyla ilişkili nesne geçerli olmalıdır, ancak açık olması gerekmez. IDbConnection çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
Veri tablolarını doldurma sırasında bir hata veya özel durumla karşılaşılırsa, hata oluşmadan önce eklenen satırlar veri tablolarında kalır. İşlemin geri kalanı durduruldu.
Komut herhangi bir satır döndürmezse, öğesine DataSethiçbir tablo eklenmez ve hiçbir özel durum tetiklenmez.
Nesnesi bir DataTabledoldurma sırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname 2", "columnname3" vb. desenini kullanarak sonraki sütunlar için adlar oluşturur.DbDataAdapter Gelen veriler adlandırılmamış sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre içine yerleştirilir DataSet .
Belirtilen sorgu birden çok sonuç döndürdüğünde, sorgu döndüren her satır için sonuç kümesi ayrı bir tabloya yerleştirilir. Ek sonuç kümeleri, belirtilen tablo adına integral değerleri eklenerek adlandırılır (örneğin, "Tablo", "Tablo1", "Tablo2" vb.). Satır döndürmeyen bir sorgu için tablo oluşturulmadığından, ekleme sorgusunu ve ardından seçme sorgusunu işlerseniz, seçme sorgusu için oluşturulan tablo, oluşturulan ilk tablo olduğundan "Tablo" olarak adlandırılır. Uygulamanız sütun ve tablo adları kullanıyorsa, bu adlandırma desenleriyle çakışma olmadığından emin olun.
öğesini doldurmak DataSet için kullanılan SELECT deyimi toplu SQL deyimleri gibi birden çok sonuç döndürdüğünde, sonuçlardan biri hata içeriyorsa, izleyen tüm sonuçlar atlanır ve öğesine DataSeteklenmez.
içeriğini DataSetyenilemek için sonraki Fill çağrılar kullanılırken iki koşul karşılanmalıdır:
SQL deyimi başlangıçta öğesini doldurmak için kullanılan deyimle DataSeteşleşmelidir.
Anahtar sütunu bilgilerinin mevcut olması gerekir.
Birincil anahtar bilgileri varsa, yinelenen satırlar uzlaştırılır ve içinde DataTable öğesine karşılık gelen DataSetyalnızca bir kez görünür. Birincil anahtar bilgileri aracılığıyla, özelliğini belirterek PrimaryKey veya özelliği DataTableAddWithKey
olarak ayarlanarak MissingSchemaAction ayarlanabilirFillSchema.
bir SelectCommand
OUTER JOIN'in sonuçlarını döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Not
Birden çok sonuç döndüren batch SQL deyimlerini işlerken, OLE DB için .NET Framework Veri Sağlayıcısı'nın uygulaması FillSchema yalnızca ilk sonuç için şema bilgilerini alır. Birden çok sonucun şema bilgilerini almak için, Fill ile değerini MissingSchemaAction olarak AddWithKey
ayarlayın.
Ayrıca bkz.
Şunlara uygulanır
Fill(DataTable, IDbCommand, CommandBehavior)
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
- Kaynak:
- DbDataAdapter.cs
Belirtilen DataTableIDbCommand ve CommandBehaviorkullanarak veri kaynağındakilerle eşleşecek şekilde içindeki DataTable satırları ekler veya yeniler.
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
Parametreler
- command
- IDbCommand
Veri kaynağından satırları almak için kullanılan SQL SELECT deyimi.
- behavior
- CommandBehavior
Değerlerden CommandBehavior biri.
Döndürülenler
içine başarıyla eklenen veya yenilenen DataTablesatır sayısı. Bu, satır döndürmeyen deyimlerin etkilediği satırları içermez.
Açıklamalar
yöntemi, Fill ilişkili SelectCommand bir özellik tarafından belirtilen SELECT deyimini kullanarak veri kaynağından satırları alır. SELECT deyimiyle ilişkilendirilmiş bağlantı nesnesinin geçerli olması gerekir, ancak açık olması gerekmez. Bağlantı çağrılmadan önce Fill kapatılırsa, verileri almak için açılır ve ardından kapatılır. Bağlantı çağrılmadan önce Fill açıksa açık kalır.
ardından Fill işlem, satırları içinde DataSetbelirtilen hedef DataTable nesnesine ekler ve henüz yoksa nesnesini oluştururDataTable. Nesne DataTable oluştururken işlem Fill normalde yalnızca sütun adı meta verileri oluşturur. Ancak, özelliği olarak AddWithKey
ayarlanırsaMissingSchemaAction, uygun birincil anahtarlar ve kısıtlamalar da oluşturulur.
Nesnesi bir DataTabledoldurma sırasında yinelenen sütunlarla karşılaşırsa, "columnname1", "columnname 2", "columnname3" desenini kullanarak sonraki sütunlar için adlar oluşturur.DbDataAdapter Gelen veriler adlandırılmamış sütunlar içeriyorsa, "Sütun1", "Sütun2" vb. desenine göre içine yerleştirilir DataSet .
parametresi olarak alan DataTable
öğesinin Fill aşırı yüklemesi yalnızca ilk sonucu alır. Birden çok sonuç elde etmek için parametresi olarak alan DataSet
bir aşırı yükleme Fill kullanın.
yöntemini aynı DataTableüzerinde birden çok kez kullanabilirsinizFill. Birincil anahtar varsa, gelen satırlar zaten var olan eşleşen satırlarla birleştirilir. Birincil anahtar yoksa, gelen satırlar öğesine DataTableeklenir.
bir SelectCommand
OUTER JOIN'in sonuçlarını döndürürse, DataAdapter
sonucu DataTableiçin bir PrimaryKey değer ayarlamaz. Yinelenen satırların doğru çözümlenmesi için birincil anahtarı açıkça tanımlamanız gerekir. Daha fazla bilgi için bkz. Birincil Anahtarları Tanımlama.
Not
Birden çok sonuç döndüren batch SQL deyimlerini işlerken, OLE DB için .NET Framework Veri Sağlayıcısı'nın uygulaması FillSchema yalnızca ilk sonuç için şema bilgilerini alır. Birden çok sonucun şema bilgilerini almak için, Fill ile değerini MissingSchemaAction olarak AddWithKey
ayarlayın.
Devralanlara Notlar
Yöntemin Fill(DataSet) bu aşırı yüklemesi korunur ve bir .NET Framework veri sağlayıcısı tarafından kullanılmak üzere tasarlanmıştır.