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 SetFieldType kadar 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 CFieldExchange
gerçekleştirilir. Olası FieldType değerleri şunlardır:
CFieldExchange::outputColumn
alan veri üyeleri için.CFieldExchange::inputParam
veyaCFieldExchange::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::outputParam
veya 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 CFieldExchange
değerinin enum FieldType
değ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 DoFieldExchange
yerleş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 SetFieldType
yapı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);
}