比如说
  form1.ADOQuery1.Close;
  form1.ADOQuery1.SQL.Clear;
  form1.ADOQuery1.SQL.Add('DELETE from table4');
  form1.ADOQuery1.ExecSQL;
这么个简单的例子中,请问table4是什么阿?
1、是一个具体的表名:当前目录下的“table4.db”?
2、还是var table4:ttable;
       table4.tablename:=……
3、还是其他的什么
我怎么改都一运行就报错阿

解决方案 »

  1.   

    是当前目录下的吗?
    我怎么一运行就报错呢?弹出窗口报错如下:
    “Projet Project1.exe raised exception class EOleException with message '[Microsoft][ODBC dBase Driver]Microsoft Jet数据库引擎找不到对象'table4'。请确定对象是否存在,并正确地写出它的名称和路径。'”
    难道需要写路径吗?写上也不对阿
      

  2.   

    呵呵,我也是菜鸟,我告诉你table4.db是一个文件,这个文件可能包括N个表,里面有一个表的名字就叫table4  跟access文件差不多,先建一个数据库文件,再在这个文件里建若干个表
    'DELETE from table4'这一句和意思是删除table4表中的所有数据
      

  3.   

    这样看你连接的是什么类型的数据库啊,这个是要搞清楚的,比如fox中的数据库结构,表就是一个单独的文件,如其它的(比如ACCESS、SQLSERVER)表就可能包含在数据库文件中,我建议你还是先看点基础性的东西,找一些关于数据库方面的资料看看,现在这种资料满网都是,好找得很。
      

  4.   

    是由于你的数据库连接设置不对,或者是数据库设置不对
    你可以这样看一下
    先看ADOQuery1的属性,搞清楚它是从哪个数据源取得数据,然后
    察看数据源的属性,看它用的数据库别名,
    接着到SQL Explorer里面察看这个别名的属性,应该就可以找到数据库类型和文件位置。
    最后在文件位置中打开相应的数据文件(包含table4)就可以了。不行的话,也许要在控制面板里的ODBC数据源里手工添加一个关联到table4.db的DSN了。我也没有这么用ado, 推荐你有条件的话学用一下dbExpress,比这个好用多了。
      

  5.   

    看来你有些基本的东西没搞清楚,
    table4是指的一个表的名字。
    你要看这个ADOQuery1连接的是哪个数据源,
    就是连接的哪个数据库,这个table4是库里的
    一个表,你这里的DELETE from table4的作用是
    把这个表里所有的记录都删除掉,它也就变成了一个
    空表。数据源是在ADOConnection中设置。
      

  6.   

    我没放在一个库里,单独使用表不可以吗?原来使用ttable,dasebase 时不用库只用表也成啊
    ADOConnection1只设置了connectionstring属性:
    Provider=MSDASQL.1;Persist Security Info=False;Data Source=dBASE Files;Initial Catalog=D:\work\delphi程序\ME(20万)
    这个路径我也不太清楚是什么,就设成程序和表所在的这个路径了
    然后把ADOQuery1的connection属性设为ADOConnection1了
    还需要做什么?