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.
Veritabanı sınıfları tarafından kullanılan kayıt alanı değişimini (RFX) ve toplu kayıt alanı değişimi (Toplu RFX) yordamlarını destekler.
Sözdizimi
class CFieldExchange
Üyeler
Genel Yöntemler
| Veri Akışı Adı | Açıklama |
|---|---|
| CFieldExchange::IsFieldType | Geçerli işlem güncelleştirilmekte olan alan türüne uygunsa sıfır olmayan döndürür. |
| CFieldExchange::SetFieldType | Bir sonraki çağrısına SetFieldTypekadar RFX işlevlerine yapılan aşağıdaki tüm çağrılarla temsil edilen kayıt kümesi veri üyesinin türünü (sütun veya parametre) belirtir. |
Açıklamalar
CFieldExchange temel sınıfına sahip değildir.
Özel veri türleri için veri değişimi yordamları yazıyorsanız veya toplu satır getirme uygularken bu sınıfı kullanın; aksi takdirde, bu sınıfı doğrudan kullanmayacaksınız. RFX ve Toplu RFX, kayıt kümesi nesnenizin alan verileri üyeleriyle veri kaynağındaki geçerli kaydın karşılık gelen alanları arasında veri alışverişinde bulunur.
Not
Açık Veritabanı Bağlantısı (ODBC) sınıfları yerine Veri Erişim Nesneleri (DAO) sınıfları ile çalışıyorsanız, bunun yerine CDaoFieldExchange sınıfını kullanın. Daha fazla bilgi için Genel Bakış:Veritabanı Programlama makalesine bakın.
Nesne CFieldExchange , kayıt alanı değişimi veya toplu kayıt alanı değişiminin gerçekleşmesi için gereken bağlam bilgilerini sağlar. CFieldExchange nesneleri, parametreleri ve alan veri üyelerini bağlama ve geçerli kaydın alanlarında çeşitli bayraklar ayarlama dahil olmak üzere bir dizi işlemi destekler. RFX ve Toplu RFX işlemleri, içinde FieldType tarafından tanımlanan türlerin enum kayıt kümesi sınıfı veri üyelerinde CFieldExchangegerçekleştirilir. Olası FieldType değerleri şunlardır:
CFieldExchange::outputColumnalan veri üyeleri için.CFieldExchange::inputParamveyaCFieldExchange::paramgiriş parametresi veri üyeleri için.CFieldExchange::outputParamçıkış parametresi veri üyeleri için.CFieldExchange::inoutParamgiriş/çıkış parametresi veri üyeleri için.
Sınıfın üye işlevlerinin ve veri üyelerinin çoğu kendi özel RFX yordamlarınızı yazmak için sağlanır. Sık sık kullanacaksınız SetFieldType . Daha fazla bilgi için Kayıt Alanı Değişimi (RFX) ve Kayıt Kümesi (ODBC) makalelerine bakın. Toplu satır getirme hakkında bilgi için Kayıt Kümesi: Kayıtları Toplu Olarak Getirme (ODBC) makalesine bakın. RFX ve Toplu RFX genel işlevleri hakkında ayrıntılı bilgi için, bu başvurunun MFC Makroları ve Global'ler bölümündeki Kayıt Alanı Değişim İşlevleri'ne bakın.
Devralma Hiyerarşisi
CFieldExchange
Gereksinimler
Üst bilgi: afxdb.h
CFieldExchange::IsFieldType
Kendi RFX işlevinizi yazarsanız, geçerli işlemin belirli bir alanda mı yoksa parametre veri üye türünde mi (, CFieldExchange::outputColumn, CFieldExchange::inputParam, CFieldExchange::param, CFieldExchange::outputParamveya CFieldExchange::inoutParam) gerçekleştirilip gerçekleştirilemeyeceğini belirlemek için işlevinizin başına çağrısında IsFieldType bulunun.
BOOL IsFieldType(UINT* pnField);
Parametreler
pnField
Alan veya parametre veri üyesinin sıralı numarası bu parametrede döndürülür. Bu sayı, CRecordset::D oFieldExchange veya CRecordset::D oBulkFieldExchange işlevindeki veri üyesinin sırasına karşılık gelir.
Dönüş Değeri
Geçerli işlem geçerli alan veya parametre türünde gerçekleştirilebiliyorsa sıfır olmayan.
Açıklamalar
Mevcut RFX işlevlerinin modelini izleyin.
CFieldExchange::SetFieldType
Kayıt kümesi sınıfınızın DoFieldExchange veya DoBulkFieldExchange geçersiz kılmasında çağrısına SetFieldType ihtiyacınız vardır.
void SetFieldType(UINT nFieldType);
Parametreler
nFieldType
içinde bildirilen CFieldExchangedeğerinin enum FieldTypedeğeri, aşağıdakilerden biri olabilir:
CFieldExchange::outputColumnCFieldExchange::inputParamCFieldExchange::paramCFieldExchange::outputParamCFieldExchange::inoutParam
Açıklamalar
Alan verisi üyeleri için, parametresiyle CFieldExchange::outputColumnçağrısı SetFieldType ve ardından RFX veya Toplu RFX işlevlerine çağrılar göndermeniz gerekir. Toplu satır getirme uygulamadıysanız ClassWizard bu SetFieldType çağrıyı sizin için alanının alan haritası bölümüne DoFieldExchangeyerleştirir.
Kayıt kümesi sınıfınızı parametreleştirirseniz, herhangi bir alan eşlemesi bölümünün dışında yeniden aramanız SetFieldType ve ardından tüm parametre veri üyeleri için RFX çağrıları yapmanız gerekir. Her parametre veri üyesi türünün kendi SetFieldType çağrısı olmalıdır. Aşağıdaki tablo, sınıfınızın parametre veri üyelerini SetFieldType temsil etmek için geçirebileceğiniz farklı değerleri ayırt eder:
| SetFieldType parametre değeri | Parametre veri üyesinin türü |
|---|---|
CFieldExchange::inputParam |
Giriş parametresi. Kayıt kümesinin sorgusuna veya saklı yordamına geçirilen değer. |
CFieldExchange::param |
ile aynı.CFieldExchange::inputParam |
CFieldExchange::outputParam |
Çıkış parametresi. Kayıt kümesinin saklı yordamının dönüş değeri. |
CFieldExchange::inoutParam |
Giriş/çıkış parametresi. Kayıt kümesinin saklı yordamına geçirilen ve bu yordamdan döndürülen bir değer. |
Genel olarak, alan veri üyeleri veya parametre veri üyeleriyle ilişkilendirilmiş her RFX işlev çağrısı grubunun önünde öğesine SetFieldTypeyapılan bir çağrı bulunmalıdır. Her SetFieldType çağrının nFieldType parametresi, çağrıyı izleyen SetFieldType RFX işlev çağrıları tarafından temsil edilen veri üyelerinin türünü tanımlar.
Çıkış ve giriş/çıkış parametrelerini işleme hakkında daha fazla bilgi için flushResultSet üye işlevine CRecordset bakın. RFX ve Toplu RFX işlevleri hakkında daha fazla bilgi için Alan Değişimi İşlevlerini Kaydetme konusuna bakın. Toplu satır getirme hakkında ilgili bilgi için Kayıt Kümesi: Kayıtları Toplu Olarak Getirme (ODBC) makalesine bakın.
Örnek
Bu örnekte, rfx işlevlerine yapılan çeşitli çağrılar ve buna eşlik eden çağrılar gösterilmektedir SetFieldType. Bir nesne işaretçisi pFX aracılığıyla çağrıldığını SetFieldType CFieldExchange unutmayın.
void CSections::DoFieldExchange(CFieldExchange *pFX)
{
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T("[CourseID]"), m_CourseID);
RFX_Text(pFX, _T("[InstructorID]"), m_InstructorID);
RFX_Text(pFX, _T("[RoomNo]"), m_RoomNo);
RFX_Text(pFX, _T("[Schedule]"), m_Schedule);
// output parameter
pFX->SetFieldType(CFieldExchange::outputParam);
RFX_Long(pFX, _T("Instructor_Count"), m_nCountParam);
// input parameter
pFX->SetFieldType(CFieldExchange::inputParam);
RFX_Text(pFX, _T("Department_Name"), m_strNameParam);
}