sql server 当然能用,而且方便。但是oracal就不同了,他如果要配通都不是很容易的。而且用
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('select field1 from table1');
adoquery.open;
adoquery.fieldbyname('field1').asstring:=Edit1.text;
adoquery.post;(或着:adoquery.updatestates;)
语句,就不能提交到数据库中(但是向access,sql server中提交完全正确),那怕是用事物提交也是一样不知道oracal到底买的是什么药。不过用:
adoquery.close;
adoquery.sql.clear;
adoquery.sql.add('insert into tabel1 field value('''+Edit1.text+''')');
adoquery.open;
却可以写到数据库中。
说的越详细越好!谢谢!

解决方案 »

  1.   

    ado下面更新不要用post
    用sql的update
      

  2.   

    不是oracl的问题,是数据控件的问题,
      

  3.   

    你的理解有误。你虽然打开了一个数据集。但你并没有使数据集处于编辑状态,这样一来你的赋值是无效的。修改的方法很简单。在open以后。
    加上:
    adoquery.edit;就行了。
      

  4.   

    sql server 当然能用,而且方便。但是oracal就不同了,他如果要配通都不是很容易的。而且用
    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add('select field1 from table1');
    adoquery.open;
    adoquery.insert;//这句加上也不行
    adoquery.fieldbyname('field1').asstring:=Edit1.text;
    adoquery.post;(或着:adoquery.updatestates;)
    语句,就不能提交到数据库中(但是向access,sql server中提交完全正确),那怕是用事物提交也是一样不知道oracal到底买的是什么药。不过用:
    adoquery.close;
    adoquery.sql.clear;
    adoquery.sql.add('insert into tabel1 field value('''+Edit1.text+''')');
    adoquery.open;
    却可以写到数据库中。
    说的越详细越好!谢谢!