Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
MFC veritabanı sınıflarını belge/görünüm mimarisiyle veya mimarisi olmadan kullanabilirsiniz. Bu konu, belgeler ve görünümlerle çalışmayı vurgular. Bu, şu açıklamayı açıklar:
Form tabanlı bir uygulama nasıl yazılır ve bir
CRecordViewnesnesini belgenizin ana görünümü olarak kullanma.Belgelerinizde ve görünümlerinizde kayıt kümesi nesnelerini kullanma.
Alternatifler için bkz . MFC: Belgeler ve Görünümler Olmadan Veritabanı Sınıflarını Kullanma.
Form Tabanlı Uygulama Yazma
Birçok veri erişim uygulaması formları temel alır. Kullanıcı arabirimi, kullanıcının verileri incelediği, girdiği veya düzenlediği denetimleri içeren bir formdur. Uygulamanızı form tabanlı yapmak için CRecordView sınıfını kullanın. MFC Uygulama Sihirbazı'nı çalıştırdığınızda ve Veritabanı Desteği sayfasında ODBC istemci tipini seçtiğinizde, proje görünüm sınıfı için CRecordView kullanır.
Form tabanlı bir uygulamada, her kayıt görünümü nesnesi bir CRecordset nesnenin işaretçisini depolar. Çerçevenin kayıt alanı değişimi (RFX) mekanizması, kayıt kümesi ile veri kaynağı arasında veri alışverişi gerçekleştirir. İletişim kutusu veri değişimi (DDX) mekanizması, kayıt kümesi nesnesinin alan veri üyeleriyle formdaki denetimler arasında veri alışverişi gerçekleştirir.
CRecordView ayrıca, kayıttan formdaki kayda gitmek için varsayılan komut işleyici işlevleri sağlar.
Uygulama sihirbazıyla form tabanlı bir uygulama oluşturmak için bkz . Form Tabanlı MFC Uygulaması ve Veritabanı Desteği Oluşturma, MFC Uygulama Sihirbazı.
Formların tam tartışması için bkz. Kayıt Görünümleri.
Belgelerde ve Görünümlerde Kayıt Kümelerini Kullanma
Birçok basit form tabanlı uygulamada belge gerekmez. Uygulamanız daha karmaşıksa, büyük olasılıkla veri kaynağına bağlanan bir nesneyi depolayan CDatabase bir belgeyi veritabanı için ara sunucu olarak kullanmak istersiniz. Form tabanlı uygulamalar genellikle görünümde bir kayıt kümesi nesnesinin işaretçisini depolar. Diğer türdeki veritabanı uygulamaları, kayıt kümelerini ve CDatabase nesneyi belgede depolar. Veritabanı uygulamalarında belge kullanımıyla ilgili bazı olasılıklar şunlardır:
Yerel bağlamda bir kayıt kümesine erişiyorsanız, gerektiğinde belgenin veya görünümün üye işlevlerinde yerel olarak bir
CRecordsetnesne oluşturun.Bir kayıt kümesi nesnesini bir işlevde yerel değişken olarak bildirme. Oluşturucuya NULL geçirerek çerçevenin sizin için geçici
CDatabasebir nesne oluşturmasına ve açmasına neden olur. Alternatif olarak, birCDatabasenesnesine işaretçi geçirin. İşlev içindeki kayıt kümesini kullanın ve işlevden çıkıldığında otomatik olarak yok edilmesine izin verin.Bir kayıt kümesi oluşturucusuna NULL geçirdiğinizde, çerçeve, bir
CDatabasenesnesi oluşturmak ve açmak için kayıt kümesininGetDefaultConnectüye işlevi tarafından döndürülen bilgileri kullanır. Sihirbazlar sizin içinGetDefaultConnectgerçekleştirir.Belgenizin ömrü boyunca bir kayıt kümesine erişiyorsanız, belgenize bir veya daha fazla
CRecordsetnesne ekleyin.Belgeyi başlatırken veya gerektiğinde kayıt kümesi nesnelerini oluşturun. Zaten varsa kayıt kümesine bir işaretçi döndüren veya henüz yoksa kayıt kümesini oluşturup açan bir işlev yazabilirsiniz. Kayıt kümesini gerektiği gibi kapatın, silin ve yeniden oluşturun veya kayıtları yenilemek için üye işlevini çağırın
Requery.Belgenizin kullanım ömrü boyunca bir veri kaynağına erişiyorsanız, bir
CDatabasenesne ekleyin veya içindeki birCDatabasenesnenin işaretçisini depolayın.CDatabasenesnesi, veri kaynağınızla bağlantıyı yönetir. Nesne, belge oluşturma sırasında otomatik olarak oluşturulur ve belgeyi başlatırken üye işlevini çağırırsınızOpen. Belge üyesi işlevlerinde kayıt kümesi nesneleri oluşturduğunuzda, belgeninCDatabasenesnesine bir işaretçi geçirirsiniz. Bu, her kayıt kümesini kendi veri kaynağıyla ilişkilendirir. Veritabanı nesnesi genellikle belge kapatıldığında yok edilir. Kayıt kümesi nesneleri genellikle bir işlevin kapsamından çıktıklarında yok edilir.
Diğer Faktörler
Form tabanlı uygulamaların genellikle çerçevenin belge serileştirme mekanizması için herhangi bir kullanımı yoktur, bu nedenle Dosya menüsündeki Yeni ve Aç komutlarını kaldırmak, devre dışı bırakmak veya değiştirmek isteyebilirsiniz. Serileştirme: Serileştirme ve Veritabanı Girişi/Çıkışı makalesine bakın.
Çerçevenin destekleyebilecek birçok kullanıcı arabirimi olanağından da yararlanmak isteyebilirsiniz. Örneğin, bir bölücü penceresinde birden çok CRecordView nesne kullanabilir, birden çok kayıt kümesini farklı belge arabirimi (MDI) alt pencerelerinde açabilir ve bu şekilde devam edebilirsiniz.
Görünümünüzde, CRecordView ile uygulanan bir form veya başka bir şey olsun, her ne varsa yazdırılmasını sağlamak isteyebilirsiniz.
CFormView'den türetilen sınıflar olarak, CRecordView yazdırmayı desteklemez, ancak yazdırmaya izin vermek için OnPrint üye işlevini geçersiz kılabilirsiniz. Daha fazla bilgi için bkz. CFormView sınıfı.
Belgeleri ve görünümleri hiç kullanmak istemeyebilirsiniz. Bu durumda bkz . MFC: Belgeler ve Görünümler Olmadan Veritabanı Sınıflarını Kullanma.