AFX_ODBC_CALL ( SQLFunc )
พารามิเตอร์
SQLFunc
ฟังก์ชันการ ODBC API สำหรับข้อมูลเพิ่มเติมเกี่ยวกับฟังก์ชัน ODBC API ดูการอ้างอิงของ ODBC SDK Programmer?
หมายเหตุ
ใช้แมโครนี้จะเรียกใช้ฟังก์ชัน ODBC API ใด ๆ ที่อาจส่งคืนSQL_STILL_EXECUTING AFX_ODBC_CALLซ้ำ ๆ เรียกฟังก์ชันนี้จนกว่าจะไม่ส่งกลับSQL_STILL_EXECUTING?
ก่อนการเรียกใช้AFX_ODBC_CALLคุณต้องประกาศตัวแปร nRetCode
ชนิดRETCODE คุณสามารถใช้CRecordset::Checkในการตรวจสอบค่าของ nRetCode
หลังจากการเรียกแมโคร?
หมายเหตุว่า MFC ODBC เรียนตอนนี้ใช้ประมวลผลเฉพาะแบบซิงโครนัส เพื่อทำการดำเนินการแบบอะซิงโครนัส คุณต้องเรียกใช้ฟังก์ชัน ODBC API SQLSetConnectOption สำหรับข้อมูลเพิ่มเติม ให้ดูหัวข้อ "ดำเนินการฟังก์ชัน Asynchronously" ในการอ้างอิงของ ODBC SDK Programmer?
ตัวอย่าง
ตัวอย่างนี้ใช้AFX_ODBC_CALLเพื่อเรียกใช้SQLColumns ODBC API ฟังก์ชัน ซึ่งส่งกลับรายการของคอลัมน์ในตารางชื่อโดย strTableName
หมายเหตุการประกาศของ nRetCode
และการใช้งานของชุดระเบียนข้อมูลสมาชิกเพื่อทำส่งค่าพารามิเตอร์ไปยังฟังก์ชัน ตัวอย่างยังแสดงการตรวจสอบผลลัพธ์ของการโทรกับตรวจสอบฟังก์ชันสมาชิกของคลาสCRecordset ตัวแปร prs
เป็นตัวชี้ไปยังวัตถุCRecordsetประกาศไว้ในที่อื่น ๆ?
/ / ตัวอย่าง AFX_ODBC_CALL
RETCODE nRetCode
AFX_ODBC_CALL (:: SQLColumns (prs-gt, m_hstmt
(UCHAR *)ค่า NULL, SQL_NTS, (UCHAR *) ค่า NULL
SQL_NTS, (UCHAR *)(constchar*) strTableName
SQL_NTS, (UCHAR *) NULL, SQL_NTS));
ถ้า (! prs - > กา (nRetCode))
{
AfxThrowDBException (nRetCode, prs - > m_pdb, prs - > m_hstmt);
สืบค้นกลับ ("SQLColumns failed\n");
}
ดูเพิ่มเติมnbspAFX_SQL_ASYNC, AFX_SQL_SYNC(&N)