query1.insert;
query1.friedbyname('xxxxx').asinteger:=12345;
......
query1.post;

解决方案 »

  1.   

    query1.sql.clear;//清空
    query1.sql.add(insert query1(col1,col2,col3) values(V1,v2,v3,....vn);//插入SQL语句
    query1.ExecSQL; //提交执行
      

  2.   

    query1.sql.clear;
    query1.sql.add('insert into  [表名] value ("dd","dd")');
    query1.open; 
      

  3.   

    query1.sql.clear;
    query1.sql.add(insert query1(col1,col2,col3) values(V1,v2,v3,....vn);
    query1.ExecSQL;//或 query1.open; 
      

  4.   

    query1.sql.clear;//清空
    query1.sql.add(insert query1(col1,col2,col3) values(V1,v2,v3,....vn);//插入SQL语句
    query1.ExecSQL; //提交执行 
    对,但用open不行
      

  5.   

    我认为插入记录操作用TTable比较好,其它的用TQuery
      

  6.   

    要求返回数据集时用query1.open不返回数据集时用query1.ExecSQL
      

  7.   

    不管用TTable还是用TQuery,
    DEPHI的bde引擎最终都要把他们转化成标准的SQL语句,用参数化查选效率低下,所以建议直接写好sql语句,最好是能够在DBMS上试一下通过
    然后
      Query.close
      query.sql.clear
      query.sql.add(sql语句)//‘insert into table_name(field1..fieldn) values(value1..valuen)‘
      query.execsql,or Query.open;
    如果熟悉ADO 的话强烈建议用ADO.DELphi的一套ADO组件很好用,我想在基本不用query和table
    组件。