Aracılığıyla paylaş


Kayıt kümesi: Mimari (ODBC)

Bu konu MFC ODBC sınıfları için geçerlidir.

Bu konu, bir kayıt kümesi nesnesinin mimarisini oluşturan veri üyelerini açıklar:

Not

CRecordset'den türetilmiş ve toplu satır getirmenin uygulanmadığı nesneler için bu konu geçerlidir. Toplu satır getirme uygulanırsa, mimari benzerdir. Farklılıkları anlamak için bkz . Kayıt Kümesi: Kayıtları Toplu Getirme (ODBC).

Örnek Sınıf

Not

MFC ODBC Tüketici sihirbazı Visual Studio 2019 ve sonraki sürümlerde kullanılamaz. Yine de manuel olarak bir tüketici oluşturabilirsiniz.

"Add Class sihirbazından MFC ODBC Consumer Wizard'ı kullanarak CRecordset sınıfından türetilen bir kayıt kümesi sınıfı tanımladığınızda, elde edilen sınıf aşağıdaki basit sınıfta gösterilen genel yapıya sahiptir:"

class CCourse : public CRecordset
{
public:
   CCourse(CDatabase* pDatabase = NULL);
   ...
   CString m_strCourseID;
   CString m_strCourseTitle;
   CString m_strIDParam;
};

Sınıfın başında, sihirbaz bir alan veri üyeleri kümesi yazar. Sınıfı oluştururken, bir veya daha fazla alan veri üyesi belirtmeniz gerekir. Örnek sınıf olduğu gibi (veri üyesi m_strIDParamile) sınıfı parametreli ise, parametre veri üyelerini el ile eklemeniz gerekir. Sihirbaz, bir sınıfa parametre eklemeyi desteklemez.

Alan Veri Üyeleri

Kayıt kümesi sınıfınızın en önemli üyeleri alan veri üyeleridir. Veri kaynağından seçtiğiniz her sütun için sınıfı, bu sütun için uygun veri türünün bir veri üyesini içerir. Örneğin, bu konunun başında gösterilen örnek sınıfının ikisi de CString türünde olan ve m_strCourseID ile m_strCourseTitle adı verilen iki alan veri üyesi vardır.

Kayıt kümesi bir kayıt kümesi seçtiğinde, çerçeve geçerli kaydın sütunlarını (çağrıdan Open sonra ilk kayıt geçerlidir) nesnenin alan veri üyelerine otomatik olarak bağlar. Diğer bir ifadeyle çerçeve, bir kayıt sütununun içeriğinin depolandığı arabellek olarak uygun alan veri üyesini kullanır.

Kullanıcı yeni bir kayda kaydırdıkça, çerçeve geçerli kaydı temsil etmek için alan veri üyelerini kullanır. Çerçeve, önceki kaydın değerlerini değiştirerek alan veri üyelerini yeniler. Alan veri üyeleri, geçerli kaydı güncelleştirmek ve yeni kayıtlar eklemek için de kullanılır. Bir kaydı güncelleştirme işleminin bir parçası olarak, değerleri doğrudan uygun alan veri üyesine veya üyelerine atayarak güncelleştirme değerlerini belirtirsiniz.

Parametre Veri Üyeleri

Sınıfı parametreli ise, bir veya daha fazla parametre veri üyesine sahiptir. Parametreli sınıf, kayıt kümesi sorgusunu çalışma zamanında elde edilen veya hesaplanan bilgilere dayandırmanıza olanak tanır.

Genellikle parametresi, aşağıdaki örnekte olduğu gibi seçimi daraltmada yardımcı olur. Bu konunun başındaki örnek sınıfa bağlı olarak, kayıt kümesi nesnesi aşağıdaki SQL deyimini yürütebilir:

SELECT CourseID, CourseTitle FROM Course WHERE CourseID = ?

"?" çalışma zamanında sağladığınız bir parametre değeri için yer tutucudur. Kayıt kümesini oluşturup veri üyesini m_strIDParam MATH101 olarak ayarladığınızda, kayıt kümesinin etkili SQL deyimi şöyle olur:

SELECT CourseID, CourseTitle FROM Course WHERE CourseID = MATH101

Parametre veri üyelerini tanımlayarak çerçeveye SQL dizesindeki parametreler hakkında bilgi verirsiniz. Çerçeve, ODBC'nin yer tutucu yerine kullanılacak değerlerin nereden alınacağını bilmesini sağlayan parametresini bağlar. Örnekte, sonuçta elde edilen kayıt kümesi yalnızca Değeri MATH101 olan CourseID sütununa sahip Course tablosundaki kaydı içerir. Bu kaydın tüm belirtilen sütunları seçilir. İstediğiniz kadar parametre (ve yer tutucu) belirtebilirsiniz.

Not

MFC, parametrelerle hiçbir şey yapmaz; özellikle metin değiştirme gerçekleştirmez. MFC bunun yerine ODBC'ye parametresinin nereden alınacağı bildirir; ODBC verileri alır ve gerekli parametreleştirmeyi gerçekleştirir.

Not

Parametrelerin sırası önemlidir. Bu ve parametreler hakkında daha fazla bilgi için bkz . Kayıt Kümesi: Kayıt Kümesini Parametreleştirme (ODBC).

m_nFields ve m_nParams kullanma

Bir sihirbaz sınıfınız için bir oluşturucu yazdığında, sınıftaki alan veri üye sayısını belirten m_nFields veri üyesini de başlatır. Sınıfınıza herhangi bir parametre eklerseniz, m_nParams veri üyesi için parametre veri üyesi sayısını belirten bir başlatma da eklemeniz gerekir. Çerçeve, veri üyeleriyle çalışmak için bu değerleri kullanır.

Daha fazla bilgi ve örnek için bkz. Kayıt Alanı Değişimi RFX Kullanma.

Ayrıca bkz.

Kayıt Kümesi (ODBC)
Kayıt Kümesi: Tablo için Sınıf Bildirme (ODBC)
Kayıt Alanı Değişimi (RFX)