ACCESS+ADO出现“FROM子句语法错误”???(100分)

  • 主题发起人 主题发起人 yhli
  • 开始时间 开始时间
Y

yhli

Unregistered / Unconfirmed
GUEST, unregistred user!
问题1
下面一段简单的代码,调用时却出现了“class EOleException with message FROM子句语法错误”错误,我并没用到什么“from”子句啊?

Function TForm1.ConnectMDB(DbName:string):boolean;
var
ConnectStr : wideString;
begin
dbName:='E:/db1.mdb';
Connectstr:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +DbName
+';'+'mode = Share Deny None;'+'Persist Security Info=False';
try
ADOConnection1.Close;
ADOConnection1.ConnectionString := ConnectStr;
ADOConnection1.Connected:=True;
ADOTable1.Active:=False;
ADOTable1.TableName:=DbName;
ADOTable1.Active:=True; //运行到该句出现错误!
Except
;
end;
Result:=True;
end;

问题2
还有一个下面的错误,如果换一个数据库则又出现上一个错误,难道与ACCESS数据库本身有什么关系。或者原因通常有哪些?
“Microsoft Jet数据库引擎找不到输入表或查询“(我输入的文件名)”,确定它是否存在,以及它的名称的拼写是否正确。”

注:db1用access建的一个最简单的数据库
 
ADOTable1.TableName:=DbName;
是表名不是数据库名,
ADOTable1.TableName:='table1';
 
谢谢chenshaizi,我来先看看.
 
ADOTable1.connection:= ADOConnection1;
ADOTable1.TableName:='table1';
 
又出现 Microsoft Jet数据库引擎找不到输入表或查询表‘Table1’,确定它是否存在,以及它的名称的拼写是否正确?
 
程序中没有“Table1”这张表,但ADOTable1.TableName似乎必须要设置
 
ADOTable1.TableName:='[$sheet1]'; //?
 
问题已解决,实际上TableName是ACCESS中的一张表的名称,谢谢各位!特别感谢chenshaizi指出错误的位置!
 
多人接受答案了。
 
后退
顶部