Aracılığıyla paylaş


SatırLar Getiriliyor

Şunlar için geçerlidir:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalitik Platform Sistemi (PDW)Microsoft Fabric'te SQL veritabanı

OLE DB sürücüsünü indirme

IRowset arayüzü, temel sıra kümesi arayüzüdür. IRowset arayüzü, sıralı olarak satır getirme, bu sıralardan veri almak ve satır yönetmek için yöntemler sunar. Tüketiciler, tüm temel satır kümesi işlemleri için IRowset'teki yöntemleri kullanır. Bu, satır alıp serbest bırakmayı ve sütun değerlerini elde etmeyi içerir.

Bir tüketici bir satır kümesi üzerinde arayüz işaretçisi elde ettiğinde, ilk adım genellikle IRowsetInfo::GetProperties yöntemiyle satır kümesinin yeteneklerini belirlemektir. Bu, satır kümesinin açığa çıkan arayüzleri ve ayrıca ayrı arayüzler olarak görünmeyen satır kümesinin yetenekleri hakkında, örneğin aynı anda bekleyen satır sayısı ve bekleyen güncellemelerin olduğu sıralar hakkında bilgi sağlar.

Tüketiciler için bir sonraki adım, satır kümesindeki sütunların özelliklerini veya meta verilerini belirlemektir. Bunun için basit sütun bilgisi için IColumnsInfo yöntemi veya genişletilmiş sütun bilgisi için IColumnsRowset yöntemi kullanılır. GetColumnInfo yöntemi aşağıdaki bilgileri döndürür:

  • Sonuç kümesindeki sütun sayısı.

  • Her sütun başına bir DBCOLUMNINFO yapısı dizisi.

    Yapıların sırası, sütunların sırada görünme sırasıdır. Her DBCOLUMNINFO yapısı, sütun adı, sütunun sırası, sütundaki bir değerin maksimum mümkün uzunluğu, sütunun veri türü, hassasiyet ve uzunluk gibi sütun meta verilerini içerir.

  • Tek bir tahsis bloğundaki tüm dizi değerleri için bir depolama işareti.

Tüketici, hangi sütunlara ihtiyacı olduğunu ya meta verilerden ya da satır kümesini oluşturan metin komutuna göre belirler. Gerekli sütunların sıralarını, IColumnsInfo tarafından döndürülen sütun bilgisinin sırasından veya IColumnsRowset tarafından döndürülen sütun metaveri satır setindeki sıralardan belirler.

IColumnsInfo ve IColumnsRowset arayüzleri, satır kümedeki sütunlar hakkında bilgi çıkarmak için kullanılır. IColumnsInfo arayüzü sınırlı bir bilgi seti dönerken, IColumnsRowset tüm meta verileri sağlar.

Uyarı

SQL Server sürüm 7.0 ve daha öncesinde, isteğe bağlı meta veri sütunu IColumnsInfo::GetColumnsInfo tarafından döndürülür DBSTATUS_S_ISNULL DBCOLUMN_COMPUTEMODE (sütunun hesaplanıp hesaplanmadığını tanımlayan değerler yerine) çünkü temel sütunun hesaplanıp hesaplanmadığı belirlenemez.

Ordinaller, bir sütuna bağlanma belirtmek için kullanılır. Cilt, tüketicinin yapısının bir unsurunu bir sütunla ilişkilendiren bir yapıdır. Bağlama, sütunun veri değerini, uzunluğunu ve durum değerini bağlayabilir.

Bir aksesuarda bir seti bağlar toplanır. Bu, IAccessor::CreateAccessor yöntemi kullanılarak oluşturulur. Bir erişimci, birden fazla bağlama içerebilir, böylece birden fazla sütun için veri tek bir çağrıda alınabilir veya ayarlanabilir. Tüketici, uygulamanın farklı bölümlerinde farklı kullanım kalıplarına uyacak birkaç aksesuar oluşturabilir. Satır seti varlığını sürdürürken erişimciler oluşturup serbest bırakabilir.

Veritabanından satır almak için tüketici IRowset::GetNextRows veya IRowsetLocate::GetRowsAt gibi bir metod çağırır. Bu getirme işlemleri, sunucudan satır verilerini sağlayıcının satır tamponuna yerleştirir. Tüketici, sağlayıcının satır tamponuna doğrudan erişimi yoktur. Tüketici, IRowset::GetData kullanarak verileri sağlayıcının tamponundan tüketici tamponuna kopyalar, IRowsetChange::SetData ise tüketici tamponundan sağlayıcı tamponuna veri değişikliklerini kopyalar.

Tüketici GetData metodunu çağırır ve tutamacı bir satıra, tutamacı bir accessöre, bir işaretçiyi ise tüketici tarafından tahsis edilen bir tampona verir. GetData , verileri dönüştürür ve accessörü oluşturmak için kullanılan bağlamalarda belirtildiği sütunları döndürür. Tüketici, farklı erişimciler ve tamponlar kullanarak bir satır boyunca birden fazla kez GetData'yı çağırabilir ve böylece aynı verinin birden fazla kopyasını elde edebilir.

Değişken uzunluktaki sütunlardan gelen veriler çeşitli şekillerde ele alınabilir. İlk olarak, bu tür sütunlar tüketicinin yapısının sonlu bir bölümüne bağlanabilir. Bu, veri uzunluğu tamponun uzunluğunu aştığında kesintiye neden olur. Tüketici, kesintinin gerçekleştiğini DBSTATUS_S_TRUNCATED durumunu kontrol ederek belirleyebilir. Geri dönen uzunluk her zaman gerçek uzunluk olarak bayt cinsinden olur, böylece tüketici ne kadar verinin kesildiğini de belirleyebilir.

Tüketici satır almayı veya güncellemeyi bitirdiğinde, bunları ReleaseRows yöntemiyle serbest bırakır. Bu, satır setindeki satır kopyalarından kaynakları serbest bırakır ve yeni satırlar için yer açar. Tüketici daha sonra satır getirme veya oluşturma döngüsünü tekrarlayabilir ve bu sıralardaki verilere erişebilir.

Tüketici satır kümesini bitirdiğinde, herhangi bir accessörü serbest bırakmak için IAccessor::ReleaseAccessor metodunu çağırır. Satır kümesini serbest bırakmak için sıralar kümesi tarafından ortaya çıkan tüm arayüzlerde IUnknown::Release yöntemini çağırır. Sıra kümesi serbest bırakıldığında, tüketicinin elinde kalan satır veya erişimcilerin serbest bırakılmasını zorunlu kılıyor.

Bu Kısımda

Ayrıca Bkz.

Satır kümeleri