RFX_Text_Bulk

โมฆะ RFX_Text_Bulk (CFieldExchange * pFX, LPCTSTR szName, LPSTR * prgStrValsยาว ** prgLengths, int nMaxLength );

พารามิเตอร์

pFX

ตัวชี้ไปยังวัตถุCFieldExchange วัตถุนี้ประกอบด้วยข้อมูลเพื่อกำหนดเนื้อหาสำหรับแต่ละการเรียกฟังก์ชัน สำหรับข้อมูลเพิ่มเติม ให้ดูบทความ แลกเปลี่ยนเขตข้อมูลของระเบียน: How RFX WorksในVisual c ++ Programmer ของคำแนะนำ?

szName

ชื่อของคอลัมน์ข้อมูล?

prgStrVals

ตัวชี้ไปยังอาร์เรย์ของค่าLPSTR อาร์เรย์นี้จะเก็บข้อมูลจะถูกโอนย้ายจากแหล่งข้อมูลในชุดระเบียน หมายเหตุไม่ว่า กับรุ่นปัจจุบันของ ODBC ค่าเหล่านี้สามารถเป็น Unicode?

prgLengths

ตัวชี้ไปยังอาร์เรย์ของจำนวนเต็มแบบยาว อาร์เรย์นี้จะเก็บความยาวเป็นไบต์ของแต่ละค่าในอาร์เรย์ที่ชี้ไปตามprgStrVals ความยาวไม่รวมอักขระเลิกจ้างค่า null หมายเหตุว่า จะเก็บค่าSQL_NULL_DATAถ้ารายการข้อมูลที่สอดคล้องกันประกอบด้วยค่า Null สำหรับรายละเอียดเพิ่มเติม ให้ดูฟังก์ชัน ODBC API SQLBindColในการอ้างอิงของ ODBC SDK Programmer?

nMaxLength

สูงสุดที่อนุญาตให้ความยาวของค่าเก็บอยู่ในอาร์เรย์ที่ชี้ไปตามprgStrValsรวมทั้งอักขระเลิกจ้างค่า null เพื่อให้แน่ใจว่า ข้อมูลจะไม่ถูกตัดทอน ส่งค่า ขนาดใหญ่พอที่จะรองรับข้อมูลสินค้าที่ใหญ่ที่สุดคุณคาดหวัง?

หมายเหตุ

ฟังก์ชันRFX_Text_Bulkการโอนหลายแถวของข้อมูลตัวอักษรจากคอลัมน์ของแหล่งข้อมูล ODBC ให้อาร์เรย์สอดคล้องกันในการCRecordset-มาวัตถุ คอลัมน์ในแหล่งข้อมูลสามารถมีชนิดแบบ ODBC ของSQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMALหรือSQL_NUMERIC ชุดระเบียนต้องกำหนดเขตข้อมูลข้อมูลสมาชิกของชนิดLPSTR?

ถ้าคุณเตรียมใช้งานprgStrValsและprgLengthsเพื่อNULLจากนั้นอาร์เรย์ชี้มาที่จะถูกจัดสรรโดยอัตโนมัติ มีขนาดเท่ากับขนาด rowset?

หมายเหตุnbsp  การแลกเปลี่ยนเขตข้อมูลระเบียนจำนวนมากเท่านั้นโอนข้อมูลจากแหล่งข้อมูลให้กับวัตถุ recordset เพื่อให้สามารถปรับปรุงชุดระเบียนของคุณ คุณต้องใช้ฟังก์ชัน ODBC API SQLSetPos สำหรับตัวอย่างของวิธีการทำเช่นนี้ ให้ดูตัวอย่าง DBFETCH(&N)?

สำหรับข้อมูลเพิ่มเติม ให้ดูบทความ ชุดระเบียน: กำลังนำระเบียนในกลุ่ม (ODBC)และ แลกเปลี่ยนเขตข้อมูลของระเบียน (RFX)ในVisual c ++ Programmer ของคำแนะนำ?

ตัวอย่าง

ClassWizard ไม่สนับสนุนฟังก์ชัน Bulk RFX ดังนั้นคุณเองต้องเขียนแทนสายในDoBulkFieldExchangeของคุณ ตัวอย่างนี้แสดงการเรียกไปยังRFX_Text_BulkตลอดจนการเรียกไปยังRFX_Long_Bulkสำหรับการถ่ายโอนข้อมูล สายเหล่านี้จะถูกนำหน้า โดยการเรียกCFieldExchange::SetFieldType หมายเหตุที่สำหรับพารามิเตอร์ คุณต้องเรียกใช้ฟังก์ชัน RFX แทนฟังก์ชัน Bulk RFX?

 multiRowSet::DoBulkFieldExchange (CFieldExchange * pFX) ถือเป็นโมฆะ
{
 nbsp pFX - > SetFieldType (CFieldExchange::outputColumn);
   RFX_Long_Bulk (pFX, _T ("[colRecID]"),
                  & m_rgID และ m_rgIDLenghts);
   RFX_Text_Bulk (pFX, _T ("[colName]"),
                  & m_rgName และ m_rgNameLengths, 30);

pFX - > SetFieldType (CFieldExchange::inputParam);
   RFX_Text (pFX, "NameParam", m_strNameParam);
}

ดูเพิ่มเติมnbspRFX_Binary_Bulk, RFX_Bool_Bulk, RFX_Byte_Bulk, RFX_Date_Bulk, RFX_Double_Bulk, RFX_Int_Bulk, RFX_Long_Bulk, RFX_Single_Bulk, CFieldExchange::SetFieldType(&N)

Index