´´½¨ACCESSÎļþµ÷ÓÃOLEFUNCTIONʱ²úÉú´íÎó£¬ÔÚÏßÇóÖú
ÎÒÔÚCBÁ·´´½¨ACCESSÎļþ£¬
²ÉÓõÄÏÂÁдúÂë,ÎÒרÃÅÏÈ×ö¸öС³ÌÐò²âÊÔ£¬Ò»ÇÐÕý³£¡£
È»ºóÔÚ¼ÓÔØµ½1¸öÈí¼þÖУ¬
´«ÈëµÄ±äÁ¿MDB_PathNameÒ²ÊÇÕýÈ·µÄ¡£
µ«ÔÚÖ´ÐÐ
mdb.OleFunction("Create",DataSource);
³ö´í!
Project app.exe raised exception class EAccessViolation with message
'Access violation at address 0055da57 . Read of address 00000800'
C/C++ code:
bool CreateAccess(AnsiString MDB_PathName)
{
/*
´´½¨Ö¸¶¨Ãû³ÆµÄmdbÊý¾Ý¿â£¬³É¹¦·µ»Øtrue
MDB_PathNameΪmdbÎļþËùÔڵķ¾¶ºÍÎļþÃû
ÓÉÓÚҪʹÓÃVariantÐͱäÁ¿£¬Òò´ËÒª#include <ComObj.hpp>
*/
bool seccess = false;
if(FileExists(MDB_PathName))//Èç¹ûMDBÎļþÒÑ´æÔÚ£¬Ôòɾ³ý£¬·ñÔò»á³ö´í
{
if(MessageBox(0, AnsiString(MDB_PathName+"ÒÑ´æÔÚ,È·¶¨É¾³ýÎļþ¼ÌÐø,È¡ÏûÍ˳ö").c_str()
,"ɾ³ýÒÑ´æÔÚÎļþ£¿"
, MB_OKCANCEL + MB_ICONQUESTION + MB_DEFBUTTON2) == IDCANCEL)
return false;
DeleteFile(MDB_PathName);
}
WideString DataSource="Provider=Microsoft.Jet.OLEDB.4.0;Data source=" + MDB_PathName;
try
{
Variant mdb = CreateOleObject("ADOX.Catalog");
try
{
mdb.OleFunction("Create",DataSource);
seccess = true;
}
__finally
{
mdb = Unassigned;
}
}
catch(...)
Ïà¹ØÎÊ´ð£º
Êý¾Ý¿âÁ¬½ÓÌáʾÈçϱ¨´í£¬¿´µÄ³öÀ´ÊÇÒ³ÃæÓëÊý¾Ý¿âÁ¬½ÓµÄÎÊÌ⣬ÏÖÔÚÎÒµÄÊÇÏà¶ÔÁ¬½Ó¡£
ÒªÔõô½«Æä¸Ã³É¾ø¶ÔÁ¬½ÓÄØ£¿ÎÒµÄÊý¾Ý¿âÎļþ·¾¶ÔÚ£º
D:\web\db
»¹ÊÇÒªÏÈлл´óÈËÃǰïÖúС°×²ËÎÒ
Microsoft O ......
Âé·³¸÷λ°ïæ¿´¿´°¡
´úÂëÈçÏ£º
CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));
pConn->ConnectionString="Provider ......
ÔÚ°¢ÅÁÆæµÄweb access logÖУ¬ÓÐÒ»¸öÊÇÓû§ÃûÑ¡ÏĬÈÏÊÇÓòÓû§Ãû¡£Èç¹ûÎÒÓõÄÊÇform ·½Ê½µÇ½£¬Ïë°ÑÕâ¸öÓû§Ãûдµ½access logÖÐÔõôʵÏÖ£¿
Â¥Éϵģ¬ ÏÖÔÚµÄaccess log ÊÇÕâÑùµÄ
2009-07-04 02:16:37 110.110 ......
win2000ϵͳADOÁ¬½ÓACCESSÊý¾Ý¿â±ØÐèÒª½øÈë×ÀÃæÂð?
ÎÒÓÐÒ»¸ö×°ÁËwin2000-SP4µÄ»ú×Ó,ÒÑ×°ÁËMDAC 2.8 ,дÁ˸öwindows·þÎñ³ÌÐòÊÇÓÃADO²Ù×÷ACCESSÊý¾Ý¿âµÄ,Ææ¹ÖµÄÊÇ´ò¿ªÊý¾Ý¿âÎļþʱ,±ØÐèÒªµÇ¼µ½×ÀÃæ²ÅÄÜÕý³£´ò¿ ......