VC++³ÌÐòÔ±Ó¦µ±ÈçºÎÔĶÁADOÎĵµ
VC++³ÌÐòÔ±Ó¦µ±ÈçºÎÔĶÁADOÎĵµ
¡¶ADO API²Î¿¼¡·ÓÃVBµÄÓï·¨ÃèÊöÁËADO APIµÄÄÚÈÝ¡£µ«ADO³ÌÐòԱȴʹÓÃ×Ų»Í¬µÄ±à³ÌÓïÑÔ£¬±ÈÈçVB,VC++£¬VJ++¡£¶Ô´Ë¡¶ADO for VC++µÄÓï·¨Ë÷Òý¡·ÌṩÁË·ûºÏVC++Óï·¨¹æ·¶µÄÏêϸÃèÊö£¬°üÀ¨¹¦ÄÜ¡¢²ÎÊý¡¢Òì³£´¦ÀíµÈµÈ¡£
ADO»ùÓÚÈô¸ÉµÄCOM½è¿ÚʵÏÖ£¬Òò´ËËüµÄʹÓöÔÓÚÒ»¸öÕý½øÐÐCOM±à³ÌµÄ³ÌÐòÔ±¶øÑÔ¸ü¼òµ¥¡£±ÈÈ磬¼¸ºõËùÓÐʹÓÃCOMµÄϸ½Ú¶ÔÓÚVB³ÌÐòÔ±¶øÑÔ¶¼ÊÇÒþ²ØÁ˵쬵«¶ÔÓÚVC++³ÌÐòÔ±¶øÑÔÈ´ÒªÌØ±ð×¢Òâ¡£ÒÔÏÂÊǶÔÓÚCºÍC++³ÌÐòԱʹÓÃADOºÍ#importָʾ·û·½ÃæµÄ¸ÅÊö£¬Ö÷ÒªÃèÊöÁËCOMʹÓõÄÊý¾ÝÀàÐÍ(Variant, BSTR, and SafeArray)ºÍÒì³£µÄ´¦Àí(_com_error)¡£
ʹÓÃ#import±àÒëָʾ·û
#import±àÒëָʾ·ûʹʹÓÃADOµÄ·½·¨ÓëÊôÐÔ¼òµ¥»¯¡£Õâ¸öָʾ·ûÐèÒªÒ»¸öÀàÐÍ¿âÎļþÃû£¬±ÈÈçADO.dll(Msado15.dll)£¬²¢Éú³É¶ÔÓ¦µÄÍ·Îļþ£¬ÆäÖаüÀ¨¶¨ÒåµÄÀàÐÍ¡¢½Ó¿ÚµÄÖÇÄÜ»¯Ö¸Õë¡¢³£Á¿¡£²¢ÇÒËùÓеĽӿڶ¼±»·â×°³ÉÀà¡£
¶ÔÓÚÀàÖеÄÿ¸ö²Ù×÷£¨»ò³Æ·½·¨¡¢ÊôÐÔµ÷Óã©£¬¶¼ÓÐÒ»¸öÉùÃ÷ÒÔ±£Ö¤ÄÜÖ±½Óµ÷ÓÃËü£¨»ò³Æ×÷²Ù×÷µÄÔ´ÐÎʽ£©£¬ÒÔ¼°ÁíÒ»¸öÉùÃ÷À´µ÷ÓÃÕâ¸öÔ´²Ù×÷²¢ÔÚ²Ù×÷ʧ°ÜʱÅ׳öÒ»¸öCOM´íÎó¡£Èç¹û²Ù×÷ÊÇÒ»¸öÊôÐÔ£¬ÄÇô±àÒëָʾ·û¿ÉÒÔΪ¸Ã²Ù×÷´´½¨Ò»¸ö¿É½»»¥µÄÀàËÆVBµÄÓï·¨ÐÎʽ¡£
·µ»Ø/ÉèÖÃÊôÐԵIJÙ×÷ÓжÔÓ¦µÄÐÎʽ»¯µÄÃû×Ö—GetProperty/PutPropert£¬¶øÉèÖÃÒ»¸öÖ¸Ïòij¸öADO¶ÔÏóµÄÖ¸ÕëÐÍÊôÐÔֵʱÔòÊÇPutRefProperty¡£Ä㽫ʹÓÃÈçϵÄÐÎʽ¶ÁдÊôÐÔµÄÖµ£º
variable = objectPtr->GetProperty(); // ¶ÁÈ¡ÊôÐÔµÄÖµ
objectPtr->PutProperty(value); // ÉèÖÃÊôÐÔµÄÖµ
objectPtr->PutRefProperty(&value); // ÉèÖÃÒ»¸öÖ¸ÕëÐ͵ÄÊôÐÔµÄÖµ
Ö±½ÓʹÓÃÊôÐÔ
__declspec(property...)±àÒëָʾ·ûÊÇ΢Èí¶¨ÒåµÄÒ»¸öÕë¶ÔCÓïÑÔµÄÀ©Õ¹£¬Ê¹Ò»¸öº¯ÊýÏóÒ»¸öÊôÐÔÄÇÑù±»Ê¹Óá£ÕâÑùÄã¾Í¿ÉÒÔ²ÉÓÃÈçϵÄÓï·¨ÐÎʽÏóÔÚʹÓÃVBÒ»Ñù¶Áдһ¸öÊôÐÔµÄÖµ£º objectPtr->property = value; // ÉèÖÃÊôÐÔµÄÖµ
variable = objectPtr->property; // ¶ÁÈ¡ÊôÐÔµÄÖµ
__declspec(property...)±àÒëָʾ·ûÖ»ÄÜÕë¶ÔÊôÐԵĶÁдº¯ÊýʹÓ㬲¢¸ù¾ÝÊôÐÔÊÇ·ñ¿É¹©¶Áд×Ô¶¯Éú³É¶ÔÓ¦µÄµ÷ÓÃÐÎʽ¡£Ã¿¸öÊôÐÔ¿ÉÄÜÓÐGetProperty, PutProperty,PutRefPropertyÈý¸öº¯Êý£¬µ«Õâ¸ö±àÒë·ûÖ»ÄÜÉú³ÉÆäÖеÄÁ½ÖÖ½»»¥ÐÎʽ¡£±ÈÈ磬Command¶ÔÏóµÄActiveConnectionÊôÐÔÓÐ
Ïà¹ØÎĵµ£º
ÍøÉÏÒ»µÀ½ðɽµÄÃæÊÔÌ⣺
http://topic.csdn.net/u/20100524/14/0eff992a-2849-4db6-bdaa-d4a200e79b7c.html
Çë·Ö±ðÓÃC++µÄÃæÏò¶ÔÏóºÍ·ºÐÍ»úÖÆ£¬±àдʵÏÖTemplate MethodģʽµÄʾÀý´úÂ룬²¢±È½ÏÁ½ÖÖ·½Ê½¸÷×ÔµÄÓÅȱµã¡£
ÓÃÐ麯ÊýʵÏÖTemplate MethodµÄ·½Ê½¾Í²»¶à˵ÁË¡£Ó÷ºÐ͵ķ½Ê½ÊµÏÖ¶à̬ÔÚATLÀïÃæÓдóÁ¿µÄÓõ½£¡
·ºÐ͵ ......
LinuxÏÂC++¿ª·¢¹¤¾ß½éÉÜ
¡¡¡¡¸ÅÊö
¡¡¡¡¾ÍC£«£«¿ª·¢¹¤¾ß¶øÑÔ£¬ÓëWindowsÏÂ΢Èí£¨VC£¬ VS2005µÈ£©Ò»Í³ÌìÏÂÏà±È£¬Linux/UnixÏÂC£«£«¿ª·¢£¬¿ÉνÎ廨°ËÃÅ£¬¸÷ʽ¸÷Ñù¡£Emacs, vi, eclipse, anjuta£¬kdevelopµÈ²ã³ö²»Çî¡£
¡¡¡¡WindowsÏ£¬¿ª·¢¹¤¾ß¶àÒÔ¼¯³É¿ª·¢»·¾³IDEµÄÐÎʽչÏÖ¸ø×îÖÕÓû§¡£ÀýÈ磬VS2005¼¯³ ......
LinuxÏÂC++¿ª·¢¹¤¾ß½éÉÜ
¡¡¡¡¸ÅÊö
¡¡¡¡¾ÍC£«£«¿ª·¢¹¤¾ß¶øÑÔ£¬ÓëWindowsÏÂ΢Èí£¨VC£¬ VS2005µÈ£©Ò»Í³ÌìÏÂÏà±È£¬Linux/UnixÏÂC£«£«¿ª·¢£¬¿ÉνÎ廨°ËÃÅ£¬¸÷ʽ¸÷Ñù¡£Emacs, vi, eclipse, anjuta£¬kdevelopµÈ²ã³ö²»Çî¡£
¡¡¡¡WindowsÏ£¬¿ª·¢¹¤¾ß¶àÒÔ¼¯³É¿ª·¢»·¾³IDEµÄÐÎʽչÏÖ¸ø×îÖÕÓû§¡£ÀýÈ磬VS2005¼¯³ ......
ÎÒÓõÄLinuxϵͳÊÇUbuntu 10.04
Ê×ÏÈ, °²×°wxWidgets 2.8. ĿǰwxWidgetsÓÐÁ½¸öÎȶ¨°æ±¾, 2.6ºÍ2.8, ÎÒÃÇÑ¡×îеÄ. ´ò¿ª “Ubuntu
Èí¼þÖÐÐÄ”, ÔÚËÑË÷¿òÀïÊäÈë “wxWidgets”, °ÑÏÂÃæ¼¸¸öÃû×ÖÒÔ”wxWidgets Cross-platform C++ GUI
toolkit”¿ªÍ·µÄÈ«²¿°²×°. ×°Íêºó, ´ò¿ªÒ»¸öÖÕ¶Ë, ÊäÈ ......