¶Ô±Èͼ£º ¸¶¿îǰ£º
¸¶¿îºó£º
21
Áù¡¢×ܽ᣺
ͨ¹ýÕâ´ÎÊý¾Ý¿â´ó×÷Òµ£¬ÎÒÃÇÊìϤÁËvs2010µÄÊý¾Ý¿âADO±à³Ì¡£¶ÔÓÚËüµÄÌí¼Ó£¬Ð޸ģ¬É¾³ý²½Öè¶¼ÓÐÁ˽ϴóµÄÀí½â¡£ÔÚ´Ë´Î×÷Òµµ±ÖÐÓöµ½Á½´óÎÊÌâ¡£Ò»ÊÇ£ºÊý¾Ý¿âÁ¬½ÓÎÊÌ⣬±¾À´¿ªÊ¼×¼±¸ÓÃaccess×öºǫ́£¬¿ÉÊDz»ÖªµÀΪʲôÎҵĵçÄÔÒ»Ö±Á¬½Ó²»ÉÏ£¬ÓÚÊǸÄÓÃÁËMYAQLÁ¬½Ó¡£¶þÊÇ£ºÔÚÊÇʹÓüǼ¼¯Ö¸ÕëµÄÎÊÌâ_RecordsetPtr m_pRecordset£¬ÔÚʵÏÖÌí¼Ó£¬É¾³ý£¬Ð޸쬲éѯµÈ²Ù×÷ʱ£¬Ö»ÄÜÖ´ÐÐÒ»´Î¾Í³öÏÖÖ¸ÕëÎÞЧµÄ½á¹û¡£×îºó·¢ÏÖÊÇÔÚÁ¬½ÓÊý¾Ý¿âʱûÓгõʼ»¯COM£¬ËùÒÔµ¼ÖÂÓÐÖ¸ÕëÎÞЧµÄ½á¹û¡£È»ºó£¬×îÈÃÎÒ¿ªÐĵÄÊÇ£¬ÊÇʵÏÖ×ܼ۵ļÆËã¡£ÎÒÊÇÓÃÁ½¸öÊý×飬amount[20]£¬ºÍprice[20]¼ÇסÊýÁ¿ºÍµ¥¼Û£¬ÀûÓÃforÑ»·¼ÆËã×ܼ۵ġ£È»
ºó£¬¾ÍÊÇÔÚ vs2010ÖÐ×Ö·ûÖ®¼äµÄת»»Ò²ÊÇÎÒÃÇÓ¦¸Ã×¢ÒâµÄÎÊÌâ¡£
×ÜÖ®£¬Õâ´ÎʵÑ飬ÈÃÎÒÃÇѧµ½ÁËÐí¶à¿Î±¾ÉÏѧ²»µ½µÄ֪ʶ£¬Ò²¶ÍÁ¶ÁËÎÒÃǵÄ˼¿¼ÎÊÌ⣬½â¾öÎÊÌâµÄÄÜÁ¦¡£
¸½Â¼£ºÒ½Ôº×ÛºÏÐÅÏ¢¹ÜÀíϵͳԴ´úÂë
// ADOConn.cpp : ʵÏÖÎļþ
//
#include \#include \#include \
// CADOConn
CADOConn::CADOConn() { }
CADOConn::~CADOConn() { }
// CADOConn ³ÉÔ±º¯Êý
bool CADOConn::OnInitADOConn(void) { HRESULT hr;
22
::CoInitialize(NULL); try { hr=m_pDBConnection.CreateInstance(\ if(SUCCEEDED(hr)) { m_pDBConnection->ConnectionTimeout=3; //ÉèÖÃÁ¬½Ó×Ö·û´® _bstr_t strConnection=\
Driver};SERVER=127.0.0.1;DATABASE=mydb;UID=root;PASSWORD=123456;PORT=3306\; hr=m_pDBConnection->Open(strConnection,\ } } catch(_com_error e)//²¶×½Òì³£ { CString temp; temp.Format(CString(\Á¬½ÓÊý¾Ý¿â´íÎóÐÅÏ¢:%s\ ::MessageBox(NULL,temp,CString(\ÌáʾÐÅÏ¢\ return false; } return false; }
// ¶Ï¿ªÊý¾Ý¿âÁ¬½Ó
void CADOConn::ExitConnect(void) { if (m_pRecordset!=NULL) m_pRecordset->Close(); m_pDBConnection->Close(); //ÊÍ·Å»·¾³ ::CoUninitialize(); }
// »ñÈ¡¼Ç¼¼¯
_RecordsetPtr& CADOConn::GetRecordSet(_bstr_t bstrSQL) { try { if(m_pDBConnection==NULL) OnInitADOConn(); m_pRecordset.CreateInstance(__uuidof(Recordset));
23
m_pRecordset->Open(bstrSQL,m_pDBConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText); }
catch(_com_error e) { CString temp; temp.Format(CString(\¶ÁÈ¡Êý¾Ý¿â´íÎóÐÅÏ¢:%s\ ::MessageBox(NULL,temp,CString(\ÌáʾÐÅÏ¢\ } return m_pRecordset; }
// Ö´ÐÐSQLÓï¾ä
bool CADOConn::ExecuteSQL(_bstr_t bstrSQL) { _variant_t RecordsAffected; try {
if(m_pDBConnection==NULL) OnInitADOConn(); m_pDBConnection->Execute(bstrSQL,NULL,adCmdText); return true; } catch(_com_error e) { CString temp; temp.Format(CString(\Ö´ÐÐSQLÓï¾ä´íÎóÐÅÏ¢:%s\ ::MessageBox(NULL,temp,CString(\ÌáʾÐÅÏ¢\ return false; } }
// ·µ»Ø¼Ç¼¼¯¶ÔÏóÖ¸ÕëµÄSQLÖ´Ðк¯Êý
_RecordsetPtr CADOConn::ExcuteSQLObj(_bstr_t bstrSQL) { try {
if(m_pDBConnection==NULL) OnInitADOConn();
m_pRecordset=m_pDBConnection->Execute(bstrSQL,NULL,adCmdText); } catch(_com_error e) {
24