Aracılığıyla paylaş


CFieldExchange Sınıfı

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::outputColumn alan veri üyeleri için.

  • CFieldExchange::inputParam veya CFieldExchange::param giriş parametresi veri üyeleri için.

  • CFieldExchange::outputParam çıkış parametresi veri üyeleri için.

  • CFieldExchange::inoutParam giriş/çı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::outputColumn

  • CFieldExchange::inputParam

  • CFieldExchange::param

  • CFieldExchange::outputParam

  • CFieldExchange::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);
}

Ayrıca bkz.

Hiyerarşi Grafiği
CRecordset Sınıfı