创建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(...)
相关问答:
access 中执行sql update语句时有时候成功有时候不成功,但是access中不出错误信息,不知道是什么原因,有哪位大侠知道,请帮忙啊
贴SQL语句,检查表、字段的有效性设置
sql 在查询分析器里面 执行很正常
是 ......
我的数据库是简体sqlserver2000 ,我想在繁体access下连接,通过odbc是可以了,但在access下出现打开的表全中"#已删除"
不知道要怎么操作才可以用ACCESS繁体连接简体sqlserver2000.谢谢!!!
大家都 ......
哪里出错了,输出这样的结果??
<%@ Page Language="VB" AutoEventWireup="false" aspcompat="true" CodeFile="Default.aspx.vb" Inherits="_Default" %&g ......
如何将Excel数据导入Access数据库?,
表名:crk
不顶不行
excel可以直接作为数据库操作
使用ADO然后搞进去
procedure TExInput.Excel1Click(Sender: TObject); //实现Excel导入SQL
var
& ......
delphi 2007 + access 2007 +odbc +TADODataset,TADOConnection,TADOCommand
//删除数据
procedure TCDSSelectTools.DeleteMachine(byMachineID: string);
tmpCmd := TADOCommand.Create(ni ......