呵呵,不好意思,为什么不看看sql方面的书呢,又要浪费10分
增加:insert into databasename
(field1,field2,....) values
(value1,value2,....)删除:delete from databasename
where 条件看明白了吗

解决方案 »

  1.   

    对于这种没有数据集返回的 SQL, 不能用 Query.Open 要用 Query.ExecSQL
      

  2.   

    TO bigfox,先谢谢
       如果有十多个DBEDIT那不是每个多要写到SQL上,那挺麻烦的呀
    删除当前记录呢?
      

  3.   

    管它多少个DBEDIT,一个POST就够了
    删除当前记录:query1.delete
      

  4.   

    query 也可以直接 Append 和 Delete 啊,
    象Table 一样的操作
    如果有十多个DbEdit 就不要用Sql 语句了
      

  5.   

    你一定得用SQL语句吗?像这些操作TQUERY的方法已足够
      

  6.   

    TO foolishcat:
        能详细一点吗?最好有代码,谢过
      

  7.   

    Query.Insert;
    Query.Append;
    Query.Delete;
      

  8.   

    增加:
      query.insert;或query.append;
      然后在确定按钮内query.post;(当然,有些数据限制、错误判断之类的要写在beforepost里)  
    删除:
      query.delete;
      

  9.   

    增加:
    query.close;
    query.sql.clear;
    query.sql.add('insert into 表名 (字段1,字段2,.....) values(:field1,:field2,..');
    query.sql.params[0].value:=字段1值;
       .
       .
       .
    query.sql.execsql;(切记必用这一个,不能用open;)
    删除:
    query.close;
    query.sql.clear;
    query.sql.add('delete 表名 where 条件表达式');
    注:如果不另条件将删除不不整个表
      

  10.   

    多谢大家帮助,现问题是FORM中有QUERY1、DATASOURCE1控件,DATASOURCE1的DATASET为QUERY1,QUERY1的DATABASENAME为一别名AA,DBEDIT的DATASOURCE属性指向DATASOURCE1,
    DATAFIELD指向表的字段。我在程序中增加记录时为:
    if query1.state in[dsinsert,dsedit,dsbrowse] then
        query1.append;或INSERT;
        ....
    编译报:QUERY1:CANNOT MODIFY A READ-ONLY DATASET;不知为什么?
    同时,APPEND后,DBEDIT不是编辑状态,即不能输入资料,又不知为什么?谢谢
      

  11.   

    tquery's requ..live 属性,改为 true