ºìÁªLinuxÃÅ»§
Linux°ïÖú

¼¸ÖÖVC++Êý¾Ý¿â¿ª·¢¼¼ÊõµÄÏà¶Ô±È½Ï

·¢²¼Ê±¼ä:2006-05-03 11:39:35À´Ô´:ºìÁª×÷Õß:°®µÄ±ßÔµ
´Ó¹¦Äܼòµ¥µÄÊý¾Ý¿â(ÈçJet Engine)µ½¸´ÔӵĴóÐÍÊý¾Ý¿âϵͳ(Èçoracle)£¬VC++6.0¶¼ÌṩÁËһЩ±à³Ì½Ó¿Ú¡£±¾ÎÄÖ÷Òª½éÉÜÒÔÏÂÎåÖÖ:

1.ODBC API£»

2.MFC ODBCÀࣻ

3.MFC DAOÀࣻ(Êý¾Ý·ÃÎʶÔÏó)

4.MFCµÄOLE/DB£»

5.ActiveXÊý¾Ý¶ÔÏó(ADO)¡£

1.¿ª·ÅÊý¾Ý¿âÁ¬½Ó(ODBC API)£º

ÌṩÁËÒ»¸öͨÓõıà³Ì½Ó¿Ú£¬ÔÊÐí³ÌÐòÓë¶àÖÖ²»Í¬µÄÊý¾Ý¿âÁ¬½Ó¡£ËüΪOracle£¬ SQL Server£¬MS ExcelµÈ¶¼ÌṩÁËÇý¶¯³ÌÐò£¬Ê¹µÃÓû§¿ÉÒÔʹÓÃSQLÓï¾ä¶ÔÊý¾Ý¿â½øÐÐÖ±½ÓµÄµ×²ã¹¦ÄܲÙ×÷¡£ÔÚʹÓÃODBC APIʱ£¬Óû§ÐëÒýÈëµÄÍ·ÎļþΪ"sql.h"£¬"sqlext.h"£¬"sqltypes.h"¡£ÓÃODBC API´´½¨Êý¾Ý¿âÓ¦ÓóÌÐò×ñÑ­Ò»¶¨µÄ»ù±¾²½Ö裺

µÚÒ»²½ÊÇ·ÖÅäODBC»·¾³£¬Ê¹Ò»Ð©ÄÚ²¿½á¹¹³õʼ»¯¡£Íê³ÉÕâÒ»²½£¬Ðë·ÖÅäÒ»¸öSQLHENVÀàÐ͵ıäÁ¿ÔÚODBC»·¾³ÖÐ×ö¾ä±úʹÓá£

µÚ¶þ²½ÊÇΪ½«ÒªÊ¹ÓõÄÿһ¸öÊý¾ÝÔ´·ÖÅäÒ»¸öÁ¬½Ó¾ä±ú£¬Óɺ¯ÊýSQLALLocHandle()Íê³É¡£

µÚÈý²½ÊÇʹÓÃSQLConnect()°ÑÁ¬½Ó¾ä±úÓëÊý¾Ý¿âÁ¬½Ó£¬¿ÉÒÔÏÈͨ¹ýSQLSetConnectAttr()ÉèÖÃÁ¬½ÓÊôÐÔ¡£

È»ºó¾Í¿ÉÒÔ½øÐÐSQLÓï¾äµÄ²Ù×÷£¬ÏÞÓÚƪ·ù£¬Ïà¹ØµÄº¯Êý¾Í²»¾ßÌå½éÉÜÁË£¬¶ÁÕß¿ÉÒԲο¼Ïà¹ØÊé¼®¡£

²Ù×÷Íê³Éºó£¬Óû§È¡»ØÏàÓ¦µÄ½á¹û£¬¾Í¿ÉÒÔÈ¡ÏûÓëÊý¾Ý¿âµÄÁ¬½Ó¡£

×îºóÐèÒªÊÍ·ÅODBC»·¾³¡£

ODBC APIµÄÌصãÊǹ¦ÄÜÇ¿´ó·á¸»£¬ÌṩÁËÒì²½²Ù×÷£¬ÊÂÎñ´¦ÀíµÈ¸ß¼¶¹¦ÄÜ£¬µ«ÏàÓ¦µÄ±à³Ì¸´ÔÓ£¬¹¤×÷Á¿´ó¡£

2.MFC ODBCÀࣺ

MFC1.5ºóµÄ°æ±¾ÀïÒýÈë·â×°ÁËODBC¹¦ÄܵÄÀࡣͨ¹ýÕâЩÀàÌṩÓëODBCµÄ½Ó¿Ú£¬Ê¹µÃÓû§¿ÉÒÔ²»Ðë´¦ÀíODBC APIÖеķ±ÔÓ´¦Àí¾Í¿ÉÒÔ½øÐÐÊý¾Ý¿â²Ù×÷¡£Ö÷ÒªµÄMFC ODBCÀàÈçÏ¡£

CDatabaseÀà:Ò»¸öCDatabase¶ÔÏó±íʾһ¸öµ½Êý¾ÝÔ´µÄÁ¬½Ó£¬Í¨¹ýËü¿ÉÒÔ²Ù×÷Êý¾ÝÔ´¡£Ó¦ÓóÌÐò¿ÉʹÓöà¸öCDatabase¶ÔÏ󣺹¹ÔìÒ»¸ö¶ÔÏó²¢µ÷ÓÃOpenEx()³ÉÔ±º¯Êý´ò¿ªÒ»¸öÁ¬½Ó¡£½Ó׏¹ÔìCRecordSet¶ÔÏóÒÔ²Ù×÷Á¬½ÓµÄÊý¾ÝÔ´£¬²¢ÏòCDatabase¶ÔÏ󴫵ݼǼ¼¯¹¹Ôì³ÌÐòÖ¸Õë¡£Íê³ÉʹÓúóÓÃClose()³ÉÔ±º¯ÊýÏú»ÙCDatabase¶ÔÏó¡£Ò»°ãÇé¿öϲ¢²»ÐèÒªÖ±½ÓʹÓÃCDatabase¶ÔÏó£¬ÒòΪCRecordSet¶ÔÏó¿ÉÒÔʵÏÖ´ó¶àÊýµÄ¹¦ÄÜ¡£µ«ÊÇÔÚ½øÐÐÊÂÎñ´¦Àíʱ£¬CDatabase¾ÍÆ𵽹ؼü×÷Óá£ÊÂÎñ(Transaction)Ö¸µÄÊǽ«Ò»ÏµÁжÔÊý¾ÝÔ´µÄ¸üзÅÔÚÒ»Æð£¬Í¬Ê±Ìá½»»òÒ»¸öÒ²²»Ìá½»£¬ÎªµÄÊÇÈ·±£¶àÓû§¶ÔÊý¾ÝԴͬʱ²Ù×÷ʱµÄÊý¾ÝÕýÈ·ÐÔ¡£

CRecordSetÀࣺһ¸öCRecordSet¶ÔÏó´ú±íÒ»¸ö´ÓÊý¾ÝÔ´Ñ¡ÔñµÄÒ»×é¼Ç¼µÄ¼¯ºÏ-¼Ç¼¼¯¡£¼Ç¼¼¯ÓÐÁ½ÖÖÐÎʽ£ºsnapshotºÍdynaset¡£Ç°Õß±íʾÊý¾ÝµÄ¾²Ì¬ÊÓͼ£¬ºóÕß±íʾ¼Ç¼¼¯ÓëÆäËûÓû§¶ÔÊý¾Ý¿âµÄ¸üб£³Öͬ²½¡£Í¨¹ýCRecordSet¶ÔÏó£¬Óû§¿ÉÒÔ¶ÔÊý¾Ý¿âÖеļǼ½øÐи÷ÖÖ²Ù×÷¡£

CRecordViewÀࣺCRecordView¶ÔÏóÊÇÔÚ¿Õ¼äÖÐÏÔʾÊý¾Ý¿â¼Ç¼µÄÊÓͼ¡£ÕâÖÖÊÓͼÊÇÒ»ÖÖÖ±½ÓÁ¬µ½Ò»¸öCRecordSet¶ÔÏóµÄ¸ñʽÊÓͼ£¬Ëü´ÓÒ»¸ö¶Ô»°¿òÄ£°å×ÊÔ´´´½¨£¬²¢½«CRecordSet¶ÔÏóµÄ×Ö¶ÎÏÔʾÔÚ¶Ô»°¿òÄ£°åµÄ¿Ø¼þÀï¡£¶ÔÏóÀûÓÃDDXºÍRFX»úÖÆ£¬Ê¹¸ñʽÉϵĿؼþºÍ¼Ç¼¼¯µÄ×Ö¶ÎÖ®¼äÊý¾ÝÒƶ¯×Ô¶¯»¯£¬Ò²¾ÍÊÇ˵£¬Óû§ÉõÖÁ²»Òª±àдһÐдúÂë¾Í¿ÉÒÔʵÏÖ¼òµ¥µÄÊý¾Ý¿â¼Ç¼²é¿´³ÌÐò¡£

CDBExceptionÀࣺÓÉCexceptionÀàÅÉÉú£¬ÒÔÈý¸ö¼Ì³ÐµÄ³ÉÔ±±äÁ¿·´Ó³¶ÔÊý¾Ý¿â²Ù×÷ʱµÄÒì³£:

m_nRetCode£ºÒÔODBC·µ»Ø´úÂë(SQL_RETURN)µÄÐÎʽ±íÃ÷Ôì³ÉÒì³£µÄÔ­Òò¡£

m_strError£º×Ö·û´®£¬ÃèÊöÔì³ÉÅ׳öÒì³£µÄ´íÎóÔ­Òò¡£

m_strStateNativeOrigin£º×Ö·û´®£¬ÓÃÒÔÃèÊöÒÔODBC´íÎó´úÂë±íʾµÄÒì³£´íÎó¡£

MFCÊý¾Ý¿âÀà³ÉÔ±º¯Êý¶¼ÄÜÅ׳öCDBExceptionÀàÐ͵ÄÒì³££¬ËùÒÔÔÚ´úÂë¶ÔÊý¾Ý¿â½øÐвÙ×÷ºó¼à²âÒì³£ÊÇÕýÈ·×ö·¨¡£

MFC ODBCÀàÔÚʵ¼Ê¿ª·¢ÖÐÓ¦ÓÃ×î¹ã£¬ÒòΪËü¹¦Äܷḻ£¬²Ù×÷Ïà¶Ô¼ò±ã¡£

3.MFC DAO(Êý¾Ý·ÃÎʶÔÏó)±à³Ì£º

DAOÓÃÓÚºÍ΢ÈíµÄAccessÊý¾Ý¿â½Ó¿Ú¡£ÔÚÊý¾Ý¿âÓ¦ÓóÌÐòÈç¹ûÖ»ÐèÓëAccessÊý¾Ý¿â½Ó¿Úʱ£¬Ê¹ÓÃDAO±à³Ì½Ï·½±ã¡£ÆäÖ÷ÒªÀàÈçÏ¡£

CDaoWorkspace£ºCDaoWorkspace¶ÔÏó¿ÉÒÔÈÃÒ»¸öÓû§¹ÜÀí´ÓµÇ½µ½À뿪Æڼ䣬ָ¶¨µÄÃÜÂë±£»¤µÄÊý¾Ý¿â»á»°È«¹ý³Ì¡£´ó¶àÊýÇé¿öϲ»Òª¶à¸ö¹¤×÷ÇøÒ²²»Òª´´½¨Ã÷È·µÄ¹¤×÷Çø¶ÔÏó¡£ÒòΪÔÚ´ò¿ªÊý¾Ý¿âºÍ¼Ç¼¼¯¶ÔÏóʱ£¬ËüÃÇ¿ÉÒÔʹÓÃDAOȱʡ¹¤×÷Çø¡£

CDaoDatabase£º´ú±íÒ»¸öÁ¬½Ó£¬ÀàËÆÉÏÊöCDatabaseÀà¡£

CDaoRecordSet£ºÓÃÀ´Ñ¡Ôñ¼Ç¼¼¯²¢²Ù×÷£¬ÀàËÆÉÏÊöCRecordSetÀà¡£

CDaoRecordView£ºÀàËÆÉÏÊöCRecordViewÀà¡£

CDaoException£ºÀàËÆÉÏÊöCDBExceptionÀà¡£

CDaoTableDef£º±íʾ»ù±¾±í»ò¸½¼Ó±íµÄ¶¨Ò塣ÿ¸öDAOÊý¾Ý¿â¶ÔÏó°üÀ¨Ò»¸ö³ÆΪTableDefµÄÊÕ¼¯£¬°üº¬ËùÓд洢µÄDAO±í¶¨Òå¶ÔÏó¡£CDaoTableDef¶ÔÏó¿ÉÒÔÓÃÀ´¿ØÖÆ±í¶¨Òå¡£

CDaoQueryDef£ºCDaoQueryDef¶ÔÏó±íʾÁËÒ»¸ö²éѯ¶¨Òå(querydef)¡£

CDaoFieldExchange£ºÖ§³ÖÊý¾Ý¿âÀàʹÓõÄDAO×ֶν»»»(DFX)Àý³Ì¡£Ò²¿É´¦ÀíÊÂÎñ£¬ÀàËÆMFC ODBCÀà¡£

MFC DAO½öÓÃÀ´Ö§³ÖAccessÊý¾Ý¿â£¬Ó¦Ó÷¶Î§Ïà¶Ô¹Ì¶¨¡£

4.OLE DB£º

OLE DBÔÚÊý¾ÝÌṩ³ÌÐòºÍÓû§Ö®¼äÌṩÁËÁé»îµÄ×é¼þ¶ÔÏóÄ£ÐÍ(COM)½Ó¿Ú£¬ÕâÖÖÁé»îÐÔÓÐʱ»áʹµÃ²Ù×÷¸´ÔÓ»¯¡£OLE DB¿ò¼Ü¶¨ÒåÁËÓ¦ÓõÄÈý¸ö»ù±¾Àà¡£

Êý¾ÝÌṩ³ÌÐòData Provider£ºÓµÓÐ×Ô¼ºµÄÊý¾Ý²¢ÒÔ±í¸ñÐÎʽÏÔʾÊý¾ÝµÄÓ¦ÓóÌÐò¡£ÌṩOLE DBµÄÐм¯COM½Ó¿Ú£¬ÆÚÏÔʾ·¶Î§¿ÉÒÔ´Óµ¥Ò»Êý¾Ý±í¸ñµÄ¼òµ¥ÌṩÕßÖªµÀ¸ü¸´Ôӵķֲ¼Ê½Êý¾Ý¿âϵͳ¡£

ʹÓÃÕßConsumers£ºÊ¹ÓÃOLE DB½Ó¿Ú¶Ô´æ´¢ÔÚÊý¾ÝÌṩ³ÌÐòÖеÄÊý¾Ý½øÐпØÖƵÄÓ¦ÓóÌÐò¡£Óû§Ó¦ÓóÌÐò¹éΪʹÓÃÀà¡£

·þÎñÌṩ³ÌÐòService Provider£ºÊÇÊý¾ÝÌṩ³ÌÐòºÍʹÓÃÕßµÄ×éºÏ¡£·þÎñÌṩ³ÌÐòûÓÐ×Ô¼ºµÄÊý¾Ý£¬µ«Ê¹ÓÃOLE DBʹÓÃÕß½Ó¿ÚÀ´·ÃÎÊ´æ´¢ÔÚÊý¾ÝÌṩ³ÌÐòÖеÄÊý¾Ý¡£È»ºó£¬·þÎñÌṩ³ÌÐòͨ¹ý´ò¿ªÊý¾ÝÌṩ³ÌÐò½Ó¿ÚʹµÃÊý¾Ý¶ÔʹÓÃÕßÓÐЧ¡£·þÎñÌṩ³ÌÐò³£ÓÃÓÚÏòÓ¦ÓóÌÐòÌṩ¸ß²ã´Î·þÎñ£¬±ÈÈç¸ß¼¶·Ö²¼Ê½²éѯ¡£

OLE DB±à³Ìʱ£¬Óû§Ê¹ÓÃ×é¼þ¶ÔÏ󿪷¢Ó¦ÓóÌÐò¡£ÕâЩ×é¼þÓУº

ö¾ÙÆ÷£ºÓÃÓÚÁгö¿ÉÓõÄÊý¾ÝÔ´£»

Êý¾ÝÔ´£º´ú±íµ¥¶ÀµÄÊý¾ÝºÍ·þÎñÌṩ³ÌÐò£¬ÓÃÓÚ´´½¨¶Ô»°£»

¶Ô»°£ºÓÃÓÚ´´½¨ÊÂÎñºÍÃüÁ

ÊÂÎñ£ºÓÃÓÚ½«¶à¸ö²Ù×÷¹é²¢Îªµ¥Ò»ÊÂÎñ´¦Àí£»

ÃüÁÓÃÓÚÏòÊý¾ÝÔ´·¢ËÍÎı¾ÃüÁî(SQL)£¬·µ»ØÐм¯£»

´íÎó£ºÓÃÓÚ»ñµÃ´íÎóÐÅÏ¢¡£

5.ActiveXÊý¾Ý¶ÔÏó(ADO)£ºÊÇ΢ÈíÌṩµÄÃæÏò¶ÔÏóµÄ½Ó¿Ú£¬ÓëOLE DBÀàËÆ£¬µ«½Ó¿Ú¸ü¼òµ¥£¬¾ßÓиü¹ã·ºµÄÌØÕ÷Êý×éºÍ¸ü¸ß³Ì¶ÈµÄÁé»îÐÔ¡£ADO»ùÓÚCOM,Ìṩ±à³ÌÓïÑÔ¿ÉÀûÓõĶÔÏ󣬳ýÁËÃæÏòVC++£¬»¹ÌṩÃæÏòÆäËû¸÷ÖÖ¿ª·¢¹¤¾ßµÄÓ¦Óã¬ÈçVB£¬VJµÈ¡£ADOÔÚ·þÎñÆ÷Ó¦Ó÷½Ãæ·Ç³£ÓÐÓã¬ÌرðÊǶÔÓÚ¶¯Ì¬·þÎñÆ÷Ò³ÃæASP(Active Server Page)¡£

ADO¶ÔÏó½á¹¹ÀàËÆÓÚOLE DB£¬µ«²¢²»ÒÀ¿¿¶ÔÏó²ã´Î¡£´ó¶àÊýÇé¿öÏ£¬Óû§Ö»ÐèÒª´´½¨²¢Ö»Ê¹ÓÃÐèÒª´¦ÀíµÄ¶ÔÏó¡£ÏÂÃæµÄ¶ÔÏóÀà×é³ÉÁËADO½Ó¿Ú¡£

Connection£ºÓÃÓÚ±íʾÓëÊý¾Ý¿âµÄÁ¬½Ó£¬ÒÔ¼°´¦ÀíһЩÃüÁîºÍÊÂÎñ¡£

Command£ºÓÃÓÚ´¦Àí´«Ë͸øÊý¾ÝÔ´µÄÃüÁî¡£

Recordset£ºÓÃÓÚ´¦ÀíÊý¾ÝµÄ±í¸ñ¼¯£¬°üÀ¨»ñÈ¡ºÍÐÞ¸ÄÊý¾Ý¡£

Field£ºÓÃÓÚ±íʾ¼Ç¼¼¯ÖеÄÁÐÐÅÏ¢£¬°üÀ¨ÁÐÖµºÍÆäËûÐÅÏ¢¡£

Parameter£ºÓÃÓÚ¶Ô´«Ë͸øÊý¾ÝÔ´µÄÃüÁîÖ®¼äÀ´»Ø´«ËÍÊý¾Ý¡£

Property£ºÓÃÓë²Ù×÷ÔÚADOÖÐʹÓõÄÆäËû¶ÔÏóµÄÏêϸÊôÐÔ¡£

Error£ºÓÃÓÚ»ñµÃ¿ÉÄÜ·¢ÉúµÄ´íÎóµÄÏêϸÐÅÏ¢¡£

ÔÚVC++ʹÓÃADOÐèÒª½øÐÐCOM²Ù×÷£¬Ïêϸ·½·¨Ôڴ˾Ͳ»×¸ÊöÁË¡£

ÔÚµ±½ñÁ÷Ðеķֲ¼Ê½¿ª·¢»·¾³Ï£¬VC++6.0ÔÚÊý¾Ý¿â¿ª·¢·½ÃæÓнÏÇ¿µÄÓÅÊÆ£¬Ñ§»áÔÚ²»Í¬µÄ³¡ºÏÑ¡Óò»Í¬µÄ¼¼Êõ£¬¶Ô¿ª·¢ÈËÔ±À´ËµÊDZØÒªµÄ¼¼Êõ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ