我想用adotable获取一个用adoconnection连接的数据库中的数据,我根本没用到SQL语句,但是只要出现打开adotable的语句就老是会出现"from语句错误!",请帮忙查查错!
我的代码:procedure Tlogin.FormCreate(Sender: TObject);
begin
login.ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".\data\数据库\pass.mdb";Mode=ReadWrite|Share Deny None;Persist Security Info=true;Jet OLEDB:Database Password=123;';
login.adoconnection1.LoginPrompt:=false;
login.ADOConnection1.Open;
adotable1.tablename:='student';
end;procedure Tlogin.BitBtn1Click(Sender: TObject);
var str:string;
begin
adotable1.open;//删除这句的话就不会提示“from语句出错了",但是下面就无法使用adotable了。
adotable1.first;//student数据表只想要第一条记录;
str:=adotable1.fieldbyname('name').value;
end;adotable1已经与adoconnection1连接好了,谢谢各位了!

解决方案 »

  1.   

    这种情况以前经常遇到,主要原因可能是表名的原因,如果表名用了关键字,肯定是不行的
    虽然你没有用SQL语句,但是AdoTable会把你连接的表转换成SQL语句去执行,可能是你的数据库有问题
    你可以用AdoDataSet试试,在commandtext里写入select * from student
      

  2.   

    是不是你那数据库表的字段'name'的数据类型问题,把
    str:=adotable1.fieldbyname('name').value;
    改为如下语句试试看:
    str:=adotable1.fieldbyname('name').Asstring;
      

  3.   

    你的student表的字段用了name这个关键字了,把这个字段名改为其它的看一下