i:=(query1.fieldbyname('dept_id').AsInteger);
    i:=i+1;
    query1.FieldByName('dept_id').AsInteger:=i;

解决方案 »

  1.   

    你的query1.sql 在程序中已经变成了'select max(dept_id) as id from dept');
    即:query1只有id 一个字段了dept_id'当然找不到了!
        
      

  2.   

    出现 "field 'dept_id'not found"的语句是
    i:=strtoint(query1.fieldbyname('dept_id').asstring);
    应该改成 i:=strtoint(query1.fieldbyname('id').asstring);
    但是,你以后的语句也存在大量的错误:
    1、没有 Edit 语句;
    2、query1.fieldbyname('dept_name').asstring:=edit1.Text;何来 dept_name 字段;
    ...
      

  3.   

    问题在select max(dept_id) as id from dept中,你检索的得到的是一个变量id.
      

  4.   

    我想在数据库里让起dept_id自动加1,而我在输入dept_name就不会出错