ADOÊý¾Ý¿â²Ù×÷(ACCESS)
Ò»¡¢ADO¼ò½é
ADO(Active Data Object£¬»î¶¯Êý¾Ý¶ÔÏó)ʵ¼ÊÉÏÊÇÒ»ÖÖ»ùÓÚCOM(×é¼þ¶ÔÏóÄ£ÐÍ)ÖеÄ×Ô¶¯»¯½Ó¿Ú(IDispatch)¼¼Êõ£¬²¢ÒÔOLE DB(¶ÔÏóÁ¬½ÓºÍÏâÈëµÄÊý¾Ý¿â)Ϊ»ù´¡£¬¾¹ýOLE DB¾«Ðİü×°ºóµÄÊý¾Ý¿â·ÃÎʼ¼Êõ£¬ÀûÓÃËü¿ÉÒÔ¿ìËٵĴ´½¨Êý¾Ý¿âÓ¦ÓóÌÐò¡£
ADOÌṩÁËÒ»×é·Ç³£¼òµ¥£¬½«Ò»°ãͨÓõÄÊý¾Ý·ÃÎÊϸ½Ú½øÐзâ×°µÄ¶ÔÏó¡£ÓÉÓÚODBCÊý¾ÝÔ´Ò²ÌṩÁËÒ»°ãµÄOLE DB Privider£¬ËùÒÔADO²»½ö¿ÉÒÔÓ¦ÓÃ×ÔÉíµÄOLE DB Privider£¬¶øÇÒ»¹¿ÉÒÔÓ¦ÓÃËùÓеÄODBCÇý¶¯³ÌÐò¡£
¶þ¡¢ADOÊý¾Ý¿â²Ù×÷
1¡¢Ê×ÏÈ£¬ÒªÓÃ#importÓï¾äÀ´ÒýÓÃÖ§³ÖADOµÄ×é¼þÀàÐÍ¿â(*.tlb)£¬ÆäÖÐÀàÐÍ¿â¿ÉÒÔ×÷Ϊ¿ÉÖ´ÐгÌÐò(DLL¡¢EXEµÈ)µÄÒ»²¿·Ö±»¶¨Î»ÔÚÆä×ÔÉí³ÌÐòÖеĸ½Êô×ÊÔ´ÀÈ磺±»¶¨Î»ÔÚmsado15.dllµÄ¸½Êô×ÊÔ´ÖУ¬Ö»ÐèÒªÖ±½ÓÓÃ#importÒýÓÃËü¼È¿É¡£¿ÉÒÔÖ±½ÓÔÚStdafx.hÎļþÖмÓÈëÏÂÃæÓï¾äÀ´ÊµÏÖ£º
#import "c:program filescommon filessystemadomsado15.dll"
no_namespace
rename ("EOF", "adoEOF")
ÆäÖз¾¶Ãû¿ÉÒÔ¸ù¾Ý×Ô¼ºÏµÍ³°²×°µÄADOÖ§³ÖÎļþµÄ·¾¶À´×ÔÐÐÉ趨¡£µ±±àÒëÆ÷Óöµ½#importÓï¾äʱ£¬Ëü»áΪÒýÓÃ×é¼þÀàÐÍ¿âÖеĽӿÚÉú³É°ü×°À࣬#importÓï¾äʵ¼ÊÉÏÏ൱ÓÚÖ´ÐÐÁËAPIºÊýLoadTypeLib()¡£#importÓï¾ä»áÔÚ¹¤³Ì¿ÉÖ´ÐгÌÐòÊä³öĿ¼ÖвúÉúÁ½¸öÎļþ£¬·Ö±ðΪ*.tlh(ÀàÐÍ¿âÍ·Îļþ)¼°*.tli(ÀàÐÍ¿âʵÏÖÎļþ)£¬ËüÃÇ·Ö±ðΪÿһ¸ö½Ó¿Ú²úÉúÖÇÄÜÖ¸Õ룬²¢Îª¸÷ÖÖ½Ó¿Ú·½·¨¡¢Ã¶¾ÙÀàÐÍ£¬CLSIDµÈ½øÐÐÉùÃ÷£¬´´½¨Ò»ÏµÁаü×°·½·¨¡£Óï¾äno_namespace˵Ã÷ADO¶ÔÏó²»Ê¹ÓÃÃüÃû¿Õ¼ä£¬rename ("EOF", "adoEOF")˵Ã÷½«ADOÖнáÊø±êÖ¾EOF¸ÄΪadoEOF£¬ÒÔ±ÜÃâºÍÆäËü¿âÖÐÃüÃûÏà³åÍ»¡£
2¡¢Æä´Î£¬ÔÚ³ÌÐò³õʼ¹ý³ÌÖÐÐèÒª³õʼ»¯×é¼þ£¬Ò»°ã¿ÉÒÔÓÃCoInitialize(NULL);À´ÊµÏÖ£¬ÕâÖÖ·½·¨ÔÚ½áÊøÊ±Òª¹Ø±Õ³õʼ»¯µÄCOM£¬¿ÉÒÔÓÃÏÂÃæÓï¾äCoUnInitialize();À´ÊµÏÖ¡£ÔÚMFCÖл¹¿ÉÒÔ²ÉÓÃÁíÒ»ÖÖ·½·¨À´ÊµÏÖ³õʼ»¯COM£¬ÕâÖÖ·½·¨Ö»ÐèÒªÒ»ÌõÓï¾ä±ã¿ÉÒÔ×Ô¶¯ÎªÎÒÃÇʵÏÖ³õʼ»¯COMºÍ½áÊøÊ±¹Ø±ÕCOMµÄ²Ù×÷£¬Óï¾äÈçÏÂËùʾ£º AfxOleInit()¡£
BOOL CHighSpeedDlg::OnInitDialog()
{
CDialog::OnInitDialog();
CreateMutex(NULL,FALSE,"HighSpeed"); //±ÜÃâ³ÌÐòµÄ¶à´ÎʹÓÃ
if(GetLastError()==ERROR_ALREADY_EXISTS)
{
AfxMessageBox("¼Òôƽ̨ÒÑÆô¶¯!");
PostQuitMessage(0);
}
else
Ïà¹ØÎĵµ£º
×î½ü×ö¸öÏîÄ¿ÐèÒªÁ¬½Óµ½Ò»¸öµÚ3·½Èí¼þÓõ½µÄMDBÊý¾Ý¿â£¬¸ÃMDBÎļþÊÇÓû§¼¶¼ÓÃÜ£¬ËäÈ»ºÏ×÷·½¸øÁËÓû§Ãû£¬ËµÃ»ÓÐÃÜÂ룬µ«ÊÇÈ´ÎÞ·¨ÓÃADO½øÐвéѯ£¬±¨Ã»ÓÐȨÏÞ¡£ÓÃACCESS´ò¿ªÒ²ÊÇÒ»Ñù£¬ÎÞ·¨¿´µ½±íÀïµÄÊý¾Ý¡£ÓÚÊǵ½ÍøÉÏÈ¥ËÑ£¬½á¹ûÖ»Ëѵ½ÈçºÎÓÃACCESS¶ÔMDB½øÐмÓÃܺʹò¿ª¼ÓÃÜÎļþ£¬Õâ¸ö¸ú±à³ÌÎ޹أ¬¾Íûϸ¿´¡£¹ØÓÚADOÁ¬½Ó¼Ó ......
MS Access ODBC connection strings
Standard Security:
"Driver= {MicrosoftAccessDriver(*.mdb)};DBQ=C:\App1\Your_Database_Name.mdb;Uid=Your_Username;Pwd=Your_Password;"
Workgroup:
"Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\App1\Your_Database_Name.mdb; SystemDB=C:\App1\Your_Database_Name.mdw ......
¡øÈÕÆÚ
CDate ½«×Ö·û´®×ª»¯³ÉΪÈÕÆÚ select CDate("2005/4/5")
Date ·µ»Øµ±Ç°ÈÕÆÚ
DateAdd ½«Ö¸¶¨ÈÕÆÚ¼ÓÉÏij¸öÈÕÆÚselect dateAdd("d",30,Date())½«µ±Ç°ÈÕÆÚ¼ÓÉÏ30Ìì,ÆäÖÐd¿ÉÒÔ»»Îªyyyy»òHµÈ
DateDiff ÅжÏÁ½¸öÈÕÆÚÖ®¼äµÄ¼ä¸ô select DateDiff("d","2006-5-1","2006-6-1")·µ»Ø31,ÆäÖÐd¿ÉÒÔ»»Îªyyyy,m,HµÈ
DatePart ·µ» ......
ÔÚaccessÖУ¬updateÓï¾ä²»ÄÜÓÐ×Ó²éѯµÄ£¬Èç²»ÔÊÐíÈçÏÂÓï¾ä³öÏÖ£º
UPDATE tblA SET lngID=
(SELECT lngID from tblB WHERE strName='nihao')
ÕâÑù¾ÍÐèÒªÁíÏë°ì·¨½â¾öÎÊÌâ¡£
½â¾ö·½°¸£º
A¡£
¿ÉÒÔÓÃupdateÁíÍâµÄÓï·¨½â¾ö£º
UPDATE Tab1 a,(Select ID,Name from Tab2) b
SET a.Name = ......
Ò». Ora-24801:ÔÚOCI_lobº¯ÊýÖзǷ¨µÄ²ÎÊýÖµ
°ÑÒ»Õź¬ÓГ±¸×¢”×ֶεıíͨ¹ýODBCµ¼³öµ½OracleµÄʱºòÒ»Ö±³öÏÖÈçÉÏͼËùʾµÄÌáʾÐÅÏ¢¡£³¢ÊÔÈ¥µôÏà¹Ø×Ö¶ÎÖпոñ×Ö·û£¬È¥µô×Ö¶ÎΪ¿ÕµÄ¼Ç¼£¬»¹Êǵ¼³öʧ°Ü¡£×îºóżȻ·¢ÏÖ£¬ÖØÐ½¨Ò»ÕÅÏàͬ½á¹¹µÄ¿Õ±í£¬È»ºó¸´ÖÆÔ±íµÄ¼Ç¼£¬ÔÙÕ³Ìùµ½Ð±íÖУ¬µ¼³öµ½Oracle¾ ......