To:Focus
把delphi的demos中的db/bkquery的resltfrm中的
    //Query.Sql.Text := QueryText;
 query.SQL.Text:=
'insert into country values (''bbb'',''ddd'',''ddd'',300,300)';
/线程EXECUTE的 
  //QUERY.OPEN 
替换为: EXESQL;
就是这样简单,但执行时出错.

解决方案 »

  1.   

    上面的exesql,写错了.是execsql,反正,语法是不错的,但就是不能执行.
    不信,你试一试.
      

  2.   

    在delphi中的ExecSQL与Open是有区别的.
    Open一般用作select 操作有返回的数据集
    而ExecSQL是执行某个操作比方
    Delete 
    Create
    Update
    Insert

    这个要根据数据库的不同而不同因为好些数据库都有扩展SQL功能.而你的是insert所以用ExecSQL.
      

  3.   

    具体情况是:
    我用serversocket的stblocking 方式进行多线程接受客户端传过来的图片,
    收到图片后,存数据库,我在 线程中创建了session,database,query,
    但是往数据库插入insert into XXX values()数据库确没有内容.
    数据库是oracle的.
    请问.这是怎么回事呢?
      

  4.   

    在线程中创建了session,database,query这几个东西?
    怀疑同它有关.
    你试试只在线程中创建query,
    session,database多线程共用怎么样?当然,问题可能出在其它地方..
      

  5.   

    To:halfdream
    如果只是创建了query,则在进行大数据量的插入时,鼠标一直是处于忙的状态,这样肯定是不行
    的。真的不知道问题出在什么地方。
      

  6.   

    ....鼠标一直是处于忙的状态........
          ~~~~~~~~~~~~           奇怪,会是这样吗?据我的感觉,在非主线程中执行数据库操作的时候,
          MOUSE的沙漏不会出现
         
    可以贴出你相关部分源码吗?