Why do you use Table?
Why not try to use Query?

解决方案 »

  1.   

    回答这个问题的时候没准已经好了,你是不是把DESKTOP开在那里?另外,既然是DBF,“从一个Table中真正将一条记录删除” ,还需要执行://   uses BDE;Check(DbiPackTable(Table1.DbHandle, Table1.Handle, Nil, szDBASE, TRUE));否则被删除的记录只是做了个标记而已,并没有从文件中被物理删除。
      

  2.   

    1、请问:如何用Query进行删除操作,能举个例子吗 ? 谢谢 !
    2、Check(DbiPackTable(Table1.DbHandle, Table1.Handle, Nil, szDBASE, TRUE));
       如何使用,句柄各是什么呢 ? 能举个例子吗 ? 非常感谢 !!!
      

  3.   


    Query1.close;
    Query1.sql.clear;
    query1.sql.add('delete from ????{表名} where userid=??? {条件}‘);
    query1.execsql;Check(DbiPackTable(Table1.DbHandle, Table1.Handle, Nil, szDBASE, TRUE));
    中 Table1即为你的TABLE控件,其他不管,直接写上就是。  
      

  4.   

    把你的
    form1.Table1.edit;
    form1.Table2.CanModify ;
    去掉。
                                        
      

  5.   

    当我把
    form1.Table1.edit;
    form1.Table2.CanModify ;
    去掉后运行,出现错误提示:“Dataset is not in edit or insert !”,请问该如何处理呢 ??? 
    谢谢 !!!
      

  6.   

    form1.Table2.Post 也要去掉!!!
      

  7.   

    去掉后问题还是没有解决:procedure TForm1.bbClick(Sender: TObject);
    begin
            table1.close;
            Table1.Exclusive := True;
            Table1.Active := True;
         with table1 do
                          begin
                               Locate('userid',edit1.text, [loPartialKey]);
                               table1.delete;
                          end;end;end.运行后出现“Table is busy !”
      

  8.   

    Table1.Active:=False;
    Table2.Active:=False;
    With Tquery.Create(nil) do begin
      Databasename:=???
      Sql.Clear;
      Sql.Add('Delete * from '+TableName+' where '+'条件');
      ExecSQL; 
      free;
    end;用这个试一试?
      

  9.   

    这是由于之前你运行出错而非正常关闭数据库应用程序引起的,请退出Delphi编译环境后再重新启动Delphi,然后运行试试.
      

  10.   

    to cooer老弟:
    我看你这个DELPHI学得真累啊!从EDIT一个记录到DELETE一个记录,过多久了?多自己试试,琢磨琢磨,不要老是等别人的解答,真的!你说的问题基本上都不是软件本身引起的,很多是外部环境的因素,你又不可能全部说清楚,别人也是一头雾水。你现在这个问题我看即使别人帮你解决了,你还是不知道什么原因,什么时候会再发生的。
      

  11.   

    不知你读过dbf 数据库结构吗可直接读写吗!
      

  12.   

    use tquery is better than ttable 
    query1.close;
    query1.sql.clear;
    query1.sql.add('delete from <tablename> where <>');
    query1.execsql;