问题1: query.open('select id from table where id=:id');
       query.parambyname('id').asint=123456;
  如果123456存在报告错误.如果不存在.可以继续下去执行 insert 语句.
问题2:你所使用的数据库?那种数据库是不允一个表超过16个字段?我没有用过.问题1方法2:
      try
        query.execsql('insert into table value (123,''conquer'')');
      except
        //如果insert不成功.说明有这个关键字的记录存在,可以报错.
        //如果更准确一些,你可以根据实际情况看看如果insert存在的关键
       // 字是什么异常,然后 on 这个异常,这样更好.
      end;