qdoquery1.first;
adoquery1.edit;
adoquery1.fieldvalues['字段名']:=123
adoquery1.post;结果出错

解决方案 »

  1.   

    你可以用sql的参数来实现
    定义一个字符变量
    var str:string;
    str:='insert into 表名(字段名1,字段名2,.....,字段名n) values(:变量名1,:变量名2,.....,:量名n)'
    adoquery1.sql.clear;
    adoquery1.sql.add();
    adoquery1.Parameters.Items[0].Value:=123;
    adoquery1.Parameters.Items[1].Value:=456;
    adoquery1.Parameters.Items[n-1].Value=555;
    adoquery1.execsql;
      

  2.   

    用这样的就行了。  SQL.add('Update Table set Cl=:C1,C2=:c2,C3=:c3 where 条件')
    然后再用楼上的方法给数据进行赋值。
    不过要记住一点,就是指定的Where条件要只能找到一个记录,否则的话,会错误的修其它数据。
      

  3.   

    你的语句有问题,query和table不同
    前者是对集合操作,后者是对记录操作
    所有应该用SQL语句(update or insert)加参数解决
      

  4.   

    adoquery1.fieldbyname('字段名').asstring:='123'
      

  5.   

    同意 qinyunawei(东敢会) ,上面的就不知所云了。
      

  6.   

    改字段直可以用QUERY组件
       WITH QUERY1 DO
        CLOSE;
        SQL.add('update tablename set 字段:=修改直 where 条件');
        OPEN;
      

  7.   


     WITH QUERY1 DO
    CLOSE; 
    SQL.add('Update TableNAME set 字段:=你要该的直 where 条件');
    EXEC。SQL;