Satır getirme
The IRowset arabirim is the base satır kümesi arabirim.The IRowset arabirim provides methods for fetching rows sequentially, getting the data from those rows, and managing rows.Tüketiciler yöntemleri kullanın... Irowset tüm temel satır kümesi kümesi operasyonlar için.Bu, alma satırları serbest bırakma ve sütun değerlerini alınıyor içerir.
Tüketici, satır kümesi, bir arabirim işaretçisi aldığında, ilk adım normalde satır kümesi kümesi yeteneklerini kullanarak belirlemektir IRowsetInfo::GetProperties yöntem.Bu satır ve ayrıca ayrı arabirimleri için en fazla etkin satır sayısını ve bekleyen güncelleştirmeler aynı anda sahip olduğu satır sayısı olarak görünmüyor, yeteneklerini satır kümesi tarafından gösterilen arabirimleri hakkında bilgi verir.
Tüketiciler için bir sonraki adıma özellikleri veya meta veriler, satır kümesi kümesi kümesine sütun belirlemektir.Bunun için kullandıkları IColumnsInfo Basit sütun bilgileri veya yöntemIColumnsRowset yönteminin genişletilmiş bir sütunu bilgi.The GetColumnInfo yöntem returns the following information:
Sonuç kümesinde sütun sayısı.
DBCOLUMNINFO yapıları, her sütun bir dizisi.
Sütunları satır kümesi kümesi görünme sırasını yapıların sırasıdır.Her DBCOLUMNINFO yapısı gibi sıralı sütun, bir sütundaki değer, veri türü, sütun, duyarlık, uzunluğu en fazla olası uzunluğu sütun adını sütun meta veriler içerir.
Işaretçiyi bir depolama birimine tek bir tahsisat blok içinde tüm dize değerleri.
Tüketici, meta veriler ya da gereken veya metin komutunda satır kümesi oluşturan temel hangi sütunların belirler.Bu sıra sayılarını'tarafından döndürülen sütun bilgileri sıralama alanından gereken sütunların belirler IColumnsInfo veya tarafından döndürülen sütun meta veriler kümesi'da sıra sayılarıIColumnsRowset.
The IColumnsInfo and IColumnsRowset interfaces are used to ayıklamak information about the columns in the satır kümesi.The IColumnsInfo arabirim returns a limited küme of information, whereas IColumnsRowset provides all the meta veriler.
Not
Içinde SQL Server sürüm 7.0 veya önceki sürümlerinde, isteğe bağlı bir meta veriler sütun DBCOLUMN_COMPUTEMODE tarafından döndürüldü. IColumnsInfo::GetColumnsInfo DBSTATUS_S_ISNULL (sütun hesaplanan tanımlayan değerler yerine) verir çünkü, temel sütun hesaplanan belirlenemiyor.
Sıra sayıları bir bağlama için bir sütun belirtmek için kullanılır.Bağlama, öğenin tüketicinin yapısının bir sütun ile ilişkilendiren bir yapıdır.Veri değeri, uzunluğunu ve sütunun durum değeri bu bağlama bağlayabilirsiniz.
A küme bağlamaları birlikte bir erişimci toplanır.Bu kullanılarak oluşturulan IAccessor::CreateAccessor yöntem.Böylece birden çok sütunu için veri alınan veya tek bir çağrıda küme erişimci birden çok bağlamaları içerebilir.Tüketici, uygulamanın farklı bölümlerinde farklı kullanım desenlerini eşleştirmek için birkaç erişimcileri oluşturabilirsiniz.Oluşturabilir ve satır kümesi içinde varlığı kalırken erişimcileri bırakın.
Veritabanından satırlarını alması için , tüketici bir yöntem gibi çağırır IRowset::GetNextRows or IRowsetLocate::GetRowsAt.Bu satır verileri sunucudan satır arabelleğine put işlemi alıp sağlayıcı.Tüketici, sağlayıcının satır arabelleğine doğrudan erişim yok.Tüketici kullanımı IRowset::GetData ve tüketici arabellek için sağlayıcının arabelleğinden verileri kopyalamak içinIRowsetChange::SetData verileri kopyalamak için sağlayıcı arabelleğe tüketici arabelleğinden değiştirir.
Tüketici çağrıları GetData yöntem ve tanıtıcı ileten bir satır, bir erişimci tanıtıcısını ve bir işaretçi Tüketici tarafından ayrılmış bir arabellek.GetData verileri dönüştürür ve erişimci oluşturmak için kullanılan bağlantıları'nda belirtildiği gibi sütunlar döndürür.Tüketici çağırabilir GetData , satır için birden çok kez farklı erişimcileri arabellekleri ve bu nedenle tüketici kullanarak aynı verilerin birden çok kopya elde edebilirsiniz.
Değişken uzunluklu sütunlarından veri birkaç şekilde ele alınabilir.Ilk olarak, böyle bir sütun tüketicinin yapısı sınırlı bir bölümünü bağlanabilir.Veri uzunluğu arabelleği uzunluğunu aşarsa bu kesme neden olur.Tüketici DBSTATUS_S_TRUNCATED durumunu denetleyerek bu kesme oluştu belirleyebilirsiniz.Tüketici, ayrıca veri kesildi belirleyebileceğinizden döndürülen her zaman doğru uzunluğu bayt cinsinden uzunluğudur.
Tüketici, alma veya satır Güncelleştirme tamamlandığında, bunlarla yayımlar ReleaseRows yöntem.satır kümesi kümesi satır kümesi kümesi kopyasından kaynakları serbest bırakır ve yeni satırlar için yer sağlar.Tüketici, alma veya satırları oluşturmak ve bunları veri erişim, döngü sonra yineleyebilirsiniz.
Tüketici ile satır kümesi kümesi sona erdiğinde, çağıran IAccessor::ReleaseAccessor yöntem tüm erişimci yayımlamayı.Bu çağrı IUnknown::Release yöntem satır serbest bırakmak için satır kümesi tarafından açılan tüm arabirimlerdeki.satır kümesi kümesi yayımlandığında, kalan satırları veya erişimcileri tüketici tutabileceğini yayım zorlar.