我设定的自动编号字段,在数据库里是不需要自己输入的,而是数据库自动编号的,而且
是表的主键,我想让客户端也不需输入,就可以完成,不知道怎么做请高手指点。我举一个例子。有一张表:表名是biao1。有三个字段分别是id ,是自动编号,而且是主键。还
有两个字段是name,sex都是字符型的。我想在delphi客户端只提交后两个字段但是在delphi里都出错,我用delphi里的代码是:
adotable1.append;
adotable1.fieldbyname('name').asstring:-edit1.text;
adotable1.fieldbyname(sex).asstring:-edit2.text;
adotable1.post;
但是在根本就是插入不进数据库,因为id 是自动的字段所以我就不需要写了,但是我想
通过delphi 来实现。在前端自动编号的id 字段不需要我输入。请问有什么方法

解决方案 »

  1.   

    with query do
    begin
      close;
      sql.clear;
      sql.text := 'insert into tablename (name,sex) values(:name,:sex)';
      parambyname('name').asstring := edit1.text;
      parambyname('sex').asstring := edit2.text;
      execsql;
    end;
      

  2.   

    自动编号这样不用赋值的呀,
    adotable1.fieldbyname('name').asstring:-edit1.text;
    adotable1.fieldbyname(sex).asstring:-edit2.text;
    这样写应该对的,不过看看是不是这样
    1、-这个是什么,是不是=的
    2、sex怎么不加上单引号呢
      

  3.   

    如果你用的是access库或者在建库的时候有自动编号,那只要设定该字段为"自动编号"
    否则,你可以设一个变量,每当有新记录,插入删除时自加/自减1.并且用非编辑控件显示该字段.
    代码自己写吧.