table1.IndexName :='姓名';
    table1.setkey;
    table1.fieldbyname ('姓名').asstring := edit2.text;  //edit2 是输入
    table1.gotokey;                                 //要查找人的姓名!
   
    project project1.exe raised exception class edbengineerror
with message' index does not exist.                      
        错误提示!
      table1.Locate('姓名', edit2.text, []);   //这个也不行啊!

解决方案 »

  1.   

    table1.Locate('姓名', edit2.text, []); 方括弧中加参数  loPartialKey
      

  2.   

    可不是随时都能定义索引的, table1.IndexName :='姓名'; 也不行. 除非你在建表时定义, 或使用SQL数据库. 所以会提示index does not exist错误.
    用Locate()应该可以, 但是也不行就有些怪了, 你不妨把错误信息贴出来.
    "方括弧中加参数  loPartialKey"你也可以试试, 它可以查找出最相近的结果. 类似于GotoNearest()
      

  3.   

    Locate第一个参数是一个查找的字段名
      

  4.   

    最好改用tquery控件,那是一个比table控件执行速度快、效率高的控件,但首先要看看sql语法方面的书籍,要学数据库编程,不懂sql语句是不行的。
      

  5.   

    不要过份依赖于控件,要充份应用SQL的复合查询语句