´´½¨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(...)
Ïà¹ØÎÊ´ð£º
ÎÒµÄÊý¾Ý¿âÊǼòÌåsqlserver2000 ,ÎÒÏëÔÚ·±ÌåaccessÏÂÁ¬½Ó,ͨ¹ýodbcÊÇ¿ÉÒÔÁË,µ«ÔÚaccessϳöÏÖ´ò¿ªµÄ±íÈ«ÖÐ"#ÒÑɾ³ý"
²»ÖªµÀÒªÔõô²Ù×÷²Å¿ÉÒÔÓÃACCESS·±ÌåÁ¬½Ó¼òÌåsqlserver2000.лл!!!
´ó¼Ò¶¼ ......
ÎÒÔÚÄ£¿éÀï×Ô¶¨ÒåÁËÒ»¸öº¯Êý:stradd()
¿ÉÊÇÔÚadoquery1.sql.add('select stradd(author) from book');
ʱÌáʾstradd䶨Òå...
Õâ¸öÎÊÌâÓÐʲô°ì·¨¿ÉÒÔ½â¾öµÄÂð? ·Ç³£¸Ð¼¤!
(ÔÚA ......
ÕâÁ½Ììѧϰ¡¶Delphi¼¼Êõ·½°¸±¦µä¡·Ò»ÊéÖеÚÈýÕ¹ØÓÚÓû§µÇ¼·½°¸µÄÀý×Ó£¬ÀûÓõÄÊÇSQl ServerÊý¾Ý¿âʵÏÖÓû§µÇ¼£¬±àÒëÔËÐж¼Ã»ÎÊÌ⣬¸ÃʵÏֵŦÄÜÒ²¶¼ÊµÏֵĺܺ㬵«ÊÇÆæ¹ÖµÄÊÇ£¬·´¸´ÔËÐÐÒ»¶Îʱ¼äºó£¬ÓÐʱÔڹرÕÕû¸ö ......
ËüµÄ¶¨ÒåÊÇÕâÑùµÄ
_CRTIMP __checkReturn int __cdecl _access(__in_z const char * _Filename, __in int _AccessMode);
´ó¸ç£¬¿´¸öº¯ÊýÉùÃ÷¾ÍÄÜ¿´³öËû¸ÉɶµÄ£¿
´ÓÃüÃûÀ´¿´Ó¦¸ÃÊÇÅж ......
´ó¼ÒÌÖÂÛһϣ¬
1¡¢¶àÏ̲߳Ù×÷ACCESSµÄÊÇ·ñ¿ÉÒÔÌá¸ß³ÌÐòÕûÌåЧÂÊ¡£
2¡¢¶àÏ̷߳ÃÎÊACCESS±ÜÃâËÀËøµÄ»úÖÆ¡£
1¡¢¶àÏ̲߳Ù×÷ACCESSµÄÊÇ·ñ¿ÉÒÔÌá¸ß³ÌÐòÕûÌåЧÂÊ¡£ -----------²»¿ÉÒÔ£¬ÒòΪ JET DB ÒýÇæ¶Ô VC Ö®Àൠ......