ÀÌ ³ëÆ®´Â ODBC µå¶óÀ̹ö ÀÛ°¡ ´ë ÇÑ ÁöħÀ» ¼³¸íÇÕ´Ï´Ù. ±×°ÍÀº ÀϹÝÀûÀÎ ¿ä±¸ »çÇ× ¹× °¡Á¤ MFC µ¥ÀÌÅͺ£À̽º Ŭ·¡½º¿¡¼ ½ÃŰ´Â ODBC ±â´É ¹× ´Ù¾ç ÇÑ ¿¹»óµÈ ÀÇ¹Ì ¼¼ºÎ Á¤º¸¸¦ ¼³¸í ÇÕ´Ï´Ù. (ForwardOnly, ½º³À¼ô ¹× ´ÙÀ̳ʼÂ) ¼¼ CRecordset ¿ÀÇ ¸ðµå¸¦ Áö¿ø Çϱâ À§ÇØ ÇÊ¿äÇÑ µå¶óÀ̹ö ±â´ÉÀ» ¼³¸í Çϴ¡£
ODBCÀÇ Ä¿¼ ¶óÀ̺귯¸®
MFC µ¥ÀÌÅͺ£À̽º Ŭ·¡½º´Â »ç¿ëÀÚ°¡ ¸¹Àº °æ¿ì¿¡ ´É°¡ ÇÏ´Â ´ëºÎºÐÀÇ ¼öÁØ 1 ODBC µå¶óÀ̹ö¿¡¼ Á¦°ø ÇÏ´Â ±â´ÉÀ» ±â´ÉÀ» Á¦°ø ÇÕ´Ï´Ù. ´ÙÇàÈ÷µµ, ODBCÀÇ Ä¿¼ ¶óÀ̺귯¸® µ¥ÀÌÅͺ£À̽º Ŭ·¡½º¿Í µå¶óÀ̹ö °£ÀÇ ÀÚü ·¹ÀÌ¾î µË´Ï´Ù. ±×¸®°í ¸¹ÀºÀÌ Ãß°¡ ±â´ÉÀ» ÀÚµ¿À¸·Î Á¦°ø µË´Ï´Ù.
¿¹¸¦ µé¾î, ´ëºÎºÐÀÇ 1.0 µå¶óÀ̹ö µÚ·Î ½ºÅ©·ÑÀ» Áö¿ø ÇÏÁö´Â ¾Ê½À´Ï´Ù. Ä¿¼ ¶óÀ̺귯¸® ¼ö, °Ë»ö ¹× µå¶óÀ̹ö¿¡¼ ÇàÀ» ij½Ã µÇ¸ç SQLExtendedFetch ¿¡¼ FETCH_PREV È£Ãâ¿¡ ¿äûÇÑ ´ë·Î Á¦½Ã¡£
Ä¿¼ ¶óÀ̺귯¸® ÀÇÁ¸¼ºÀÇ ¶Ç ´Ù¸¥ Áß¿ä ÇÑ ¿¹´Â À§Ä¡ ÁöÁ¤µÈ ¾÷µ¥ÀÌÆ®. ´ëºÎºÐÀÇ 1.0 µå¶óÀ̹ö ¶ÇÇÑ ¾ø¾î À§Ä¡ ÁöÁ¤µÈ ¾÷µ¥ÀÌÆ® ÇÏÁö¸¸ Ä¿¼ ¶óÀ̺귯¸®´Â ÇöÀç ij½Ã µÈ µ¥ÀÌÅÍ °ª ¶Ç´Â ij½Ã µÈ ŸÀÓ ½ºÅÆÇÁ °ª¿¡ µû¶ó µ¥ÀÌÅÍ ¿øº»¿¡ ´ë»ó ÇàÀ» ½Äº° ÇÏ´Â update ¹®À» »ý¼º µË´Ï´Ù.
Ŭ·¡½º ¶óÀ̺귯¸®´Â ¿©·¯ Çà ÁýÇÕÀÇ »ç¿ë ÇÏ´Â Àý´ë. µû¶ó¼, ¸î SQLSetPos ¹®ÀÌ Ç×»ó Çà ÁýÇÕÀÇ Çà 1¿¡ Àû¿ë µË´Ï´Ù.
CDatabases
°¢ CDatabase ´ÜÀÏ ¿ä¼Ò·ÎÇÒ´çÇÕ´Ï´Ù. ( CDatabase ExecuteSQL ÇÔ¼ö¸¦ »ç¿ë ÇÏ´Â °æ¿ì HSTMT ÀϽÃÀûÀ¸·Î ÇÒ´ç µË´Ï´Ù.) ±×·¡¼ HENV ´ç ¿©·¯ ¿ä¼Ò·Îs¸¦ Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù ¿©·¯ °³ÀÇ CDatabaseÀÇ ÇÊ¿äÇÑ °æ¿ì¡£
µ¥ÀÌÅͺ£À̽º Ŭ·¡½º´Â Ä¿¼ ¶óÀ̺귯¸®°¡ ÇÊ¿äÇÕ´Ï´Ù. À̰ÍÀº ¹Ý¿µ SQLSetConnections ÀüÈ SQL_ODBC_CURSORS, SQL_CUR_USE_ODBC¡£
SQLDriverConnect, SQL_DRIVER_COMPLETE ´Â CDatabase::Open ¿¡ ÀÇÇØ µ¥ÀÌÅÍ ¼Ò½º¿¡ ¿¬°á¡£
µå¶óÀ̹ö SQLGetInfo SQL_ODBC_API_CONFORMANCE gt;À» Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù SQL_OAC_LEVEL1, SQLGetInfo SQL_ODBC_SQL_CONFORMANCE = > = SQL_OSC_MINIMUM¡£
CDatabase ¹× Á¾¼Ó ·¹Äڵ忡 ´ë ÇÑ Áö¿ø ÇØ¾ß ÇÏ´Â Æ®·£Àè¼Ç À§Çؼ´Â SQLGetInfoSQL_CURSOR_COMMIT_BEHAVIOR ¹× SQL_CURSOR_ROLLBACK_BEHAVIOR SQL_CR_PRESERVE°¡ ÀÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é Æ®·£Àè¼Ç Á¦¾î¸¦ ¼öÇà ÇÏ´Â ½Ãµµ ¹«½Ã µË´Ï´Ù. ¡£
SQLGetInfo SQL_DATA_SOURCE_READ_ONLY ¸¦ Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾ø½À´Ï´Ù ¾÷µ¥ÀÌÆ® ÀÛ¾÷À» ¼öÇàÇÒ °ÍÀÔ´Ï´Ù "Y"¸¦ ¹Ýȯ ÇÏ´Â °æ¿ì¡£
Àбâ Àü¿ë µ¥ÀÌÅÍ ¼Ò½º readonly¸¦ ¼³Á¤ ÇÏ·Á°í ½Ãµµ¿Í SQLSetConnectOptionSQL_ACCESS_MODE, SQL_MODE_READ_ONLY ·Î ¸¸µç CDatabase ¿¸± °æ¿ì ¡£
SQLGetInfoSQL_IDENTIFIER_QUOTE_CHAR È£ÃâÀ¸·Î µå¶óÀ̹ö¿¡¼ÀÌ Á¤º¸¸¦ ¹Ýȯ ÇÕ´Ï´Ù ½Äº°ÀÚ Àοë ÇÊ¿ä·Î ÇÏ´Â °æ¿ì ¡£
µð¹ö±ë ¸ñÀûÀ¸·Î, SQLGetInfo SQL_DBMS_VER ¹× SQL_DBMS_NAME ´Â °Ë»ö µå¶óÀ̹ö¿¡¼¡£
SQLSetStmtOptionSQL_QUERY_TIMEOUT ¹× SQL_ASYNC_ENABLE ´Â CDatabase ¿ä¼Ò·Î ¿¡¼ È£Ãâ µÉ ¼ö ÀÖ½À´Ï´Ù. ¡£
¶Ç´Â ¸ðµç Àμö°¡ NULL SQLError È£Ãâ µÉ ¼ö ÀÖ½À´Ï´Ù.
¹°·Ð, SQLAllocEnv, SQLAllocConnect, SQLDisconnect ¹× SQLFreeConnect Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù.
ExecuteSQL
Ãß°¡·Î ÇÒ´ç ÇÏ °í Àӽà HSTMTÇØÁ¦ ExecuteSQL È£Ãâ SQLExecDirect, SQLFetch, SQLNumResultCol ¹× SQLMoreResultsÇÕ´Ï´Ù. SQLCancel HSTMT ¿¡ È£Ãâ µÉ ¼ö ÀÖ½À´Ï´Ù.
GetDatabaseName
SQLGetInfo SQL_DATABASE_NAME È£Ã⠵ɡ£
BeginTrans, CommitTrans, Rollback
SQLSetConnectOptionÆ®·£Àè¼Ç ¿äû ÇÏ´Â °æ¿ì SQL_AUTOCOMMIT ¹× SQLTransactSQL_COMMIT, SQL_ROLLBACK ¹× SQL_AUTOCOMMIT ¸¦ È£ÃâÇÒ °ÍÀÔ´Ï´Ù. ¡£
CRecordsets
SQLAllocStmt, SQLPrepare, SQLExecute ( Open ¹× Requery), (¿¡ ´ë ÇÑ ¾÷µ¥ÀÌÆ® ÀÛ¾÷) SQLExecDirect , SQLFreeStmt À» Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù. ´Ù¾ç ÇÑ ½Ã°£¿¡ ¼³Á¤ °á°ú¿¡ SQLNumResultCols ¹× SQLDescribeCol À» È£Ã⠵˴ϴÙ.
¹ÙÀεù ¸Å°³ º¯¼ö µ¥ÀÌÅÍ ¹× DATA_AT_EXEC ±â´É¿¡ ´ë ÇÑ SQLSetParam ¸¦ ±¤¹üÀ§ ÇÏ °Ô »ç¿ë¡£
SQLBindCol µî·Ï ±¤¹üÀ§ ÇÏ °Ô »ç¿ë ÇÏ´Â ODBC·Î ¿ µ¥ÀÌÅÍ ÀúÀå¼Ò À§Ä¡¸¦ Ãâ·Â¡£
µÎ °³ÀÇ SQLGetData È£Ãâ SQL_LONG_VARCHAR ¹× SQL_LONG_VARBINARY µ¥ÀÌÅ͸¦ °Ë»ö ÇÏ´Â µ¥ »ç¿ë µË´Ï´Ù. ù ¹øÂ° È£ÃâÀº 0, cbMaxValue ÇÏÁö¸¸ À¯È¿ÇÑ pcbValue SQLGetData ¸¦ È£Ãâ ÇÏ ¿© ¿ °ªÀÇ ÃÑ ±æÀÌ Ã£À¸·Á°í ½Ãµµ ÇÕ´Ï´Ù. PcbValue SQL_NO_TOTAL¸¦ º¸À¯ ÇÏ´Â °æ¿ì ¿¹¿Ü°¡ throw µË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é HGLOBAL ÇÒ´ç, ¹× ´Ù¸¥ SQLGetData È£Ãâ Àüü °á°ú °Ë»ö¡£
¾÷µ¥ÀÌÆ®
ºñ°üÀû Àá±Ý ¿äû SQLGetInfo SQL_LOCK_TYPES Äõ¸®ÇÒ ¼ö ÀÖ½À´Ï´Ù. SQL_LCK_EXCLUSIVE Áö¿ø µÇÁö ¾Ê´Â °æ¿ì ¿¹¿Ü°¡ throw µÉ °ÍÀÔ´Ï´Ù.
CRecordset (½º³À¼ô ¶Ç´Â ´ÙÀ̳ʼÂ) ¾÷µ¥ÀÌÆ® ÇÏ·Á°í µÎ ¹øÂ° HSTMT ÇÒ´ç µÉ ¼ö ÀÖ½À´Ï´Ù. µÎ ¹øÂ° HSTMT¸¦ Áö¿ø ÇÏÁö ¾Ê´Â µå¶óÀ̹ö¿¡ ´ë ÇÑ Ä¿¼ ¶óÀ̺귯¸®¿¡¼´ÂÀÌ ±â´ÉÀ» ½Ã¹Ä·¹ÀÌ¼Ç ÇÕ´Ï´Ù. ºÒÇàÈ÷µµ,ÀÌ ¶§·Î´Â µÎ ¹øÂ° HSTMTÀÇ ¿äûÀ» ó¸® Çϱâ Àü¿¡ ¿Ï·á¸¦ ù ¹øÂ° HSTMT ¿¡ ÇöÀç Äõ¸®¸¦ °Á¦·Î ÀÇ¹Ì ¼ö ÀÖ½À´Ï´Ù.
SQLFreeStmt SQL_CLOSE ¹× SQL_RESET_PARAMS ¿Í SQLGetCursorName ¾÷µ¥ÀÌÆ® ÀÛ¾÷ ÇÏ´Â µ¿¾È È£Ã⠵˴ϴÙ.
OutputColumns¿¡¼ CLongBinarys °æ¿ì¿¡ ODBCÀÇ DATA_AT_EXEC ±â´ÉÀ» Áö¿ø µÇ¾î¾ß ÇÕ´Ï´Ù. À̶§ SQLExecDirect, SQLParamData ¿¡¼ SQLPutData SQL_NEED_DATA ¸¦ ¹Ýȯ¡£
SQLRowCount SQLExecDirect ¿© ´Ü 1 ·¹Äڵ尡 ¾÷µ¥ÀÌÆ® µÇ¾ú´ÂÁö È®ÀÎ ÇÏ·Á¸é ½ÇÇà ÈÄ ¶ó°í¡£
ForwardOnly Ä¿¼
¸¸ SQLFetch Àº À̵¿ ÀÛ¾÷¿¡ ÇÊ¿ä ÇÕ´Ï´Ù. Âü°í forwardOnly Ä¿¼ ¾÷µ¥ÀÌÆ®¸¦ Áö¿ø ÇÏÁö ¾Ê½À´Ï´Ù¡£
½º³À¼¦ Ä¿¼
½º³À¼¦ ±â´É SQLExtendedFetch Áö¿øÀÌ ÇÊ¿äÇÕ´Ï´Ù. À§¿¡¼ ¼³¸í Çß µíÀÌ ODBC Ä¿¼ ¶óÀ̺귯¸®´Â µå¶óÀ̹ö SQLExtendedFetch¸¦ Áö¿ø ÇÏÁö ¾ÊÀ¸¸ç ÀÚü ÇÊ¿äÇÑ Áö¿øÀ» Á¦°ø ÇÏ´Â °æ¿ì °¨Áö¡£
SQLGetInfo, SQL_SCROLL_OPTIONS SQL_SO_STATIC ¸¦ Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù.
´ÙÀ̳ʼ Ŀ¼
´ÙÀ½Àº ´ÙÀ̳ʼÂÀ» ¿©´Â µ¥ ÇÊ¿äÇÑ ÃÖ¼Ò Áö¿ø:
SQLGetInfo, SQL_ODBC_VER gt;À» ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù. "01"(&G)¡£
SQLGetInfo, SQL_SCROLL_OPTIONS SQL_SO_KEYSET_DRIVEN ¸¦ Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù.
SQLGetInfo, SQL_ROW_UPDATES ´Â "Y"¸¦ ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù.
SQLGetInfo, SQL_POSITIONED_UPDATES SQL_PS_POSITIONED_DELETE ¹× SQL_PS_POSITIONED_UPDATE ¸¦ Áö¿ø ÇØ¾ß ÇÕ´Ï´Ù.
¶ÇÇÑ, ºñ°üÀû Àá±ÝÀ» ¿äû ÇÏ´Â °æ¿ì irow 1, fRefresh FALSE ¹× ¹«¸®¿Í ÇÔ²² SQLSetPos ¸¦ È£Ãâ SQL_LCK_EXCLUSIVE ¸¸µç °ÍÀÔ´Ï´Ù.
±â¼ú ³ëÆ® ¹øÈ£·Î |nbsp; Ä«Å×°í¸®º° ±â¼ú ³ëÆ®(&N)