不知道大家是否遇到这个问题:
 使用query组件增加数据库的时候,一般使用sql功能:
  with query1 do
  begin
  query1.Prepare;
        sql.Clear;
        sql.Add(' insert into student values (');
        sql.Add(format(' ''%s'',',[trim(edit1.Text)]));            
        sql.Add(format(' ''%s'')',['7667']));
   query1.ExecSQL;//以上都能正确执行。关键在运行下面明令出错:       open;  //运行时候出现这个错误提示:error creating cursor handle(当然不影响数据的添加)
只有在增加的时候出现这个问题。怎样解决这个问题呢?

解决方案 »

  1.   

    你这open干吗呢,这个query又不能返回你一个数据结果集,当然不能open了,如果用open命令的话,sql语句应该是select * 之类的吧,呵呵
    我想出问题大致是这些原因吧,不知道对否?
      

  2.   

    SQL语句执行后有返回数据时用OPEN,反之用EXECSQL
      

  3.   

    对,之前有返回数据,看来教程不如这里的兄弟那个教程是“delphi数据库实用编程100例”大家不要买了
      

  4.   

    with query1 do
    begin
      close;
      sql.Clear;
      sql.Add(' insert into student values (');
      sql.Add(format(' ''%s'',',[trim(edit1.Text)]));            
      sql.Add(format(' ''%s'')',['7667']));
      if not prepared then Prepared;  
      ExecSQL;
    end;
      

  5.   

    为什么要qq加分呀,呵呵 qq:29940283