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;
就是这样简单,但执行时出错.
把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;
就是这样简单,但执行时出错.
不信,你试一试.
Open一般用作select 操作有返回的数据集
而ExecSQL是执行某个操作比方
Delete
Create
Update
Insert
等
这个要根据数据库的不同而不同因为好些数据库都有扩展SQL功能.而你的是insert所以用ExecSQL.
我用serversocket的stblocking 方式进行多线程接受客户端传过来的图片,
收到图片后,存数据库,我在 线程中创建了session,database,query,
但是往数据库插入insert into XXX values()数据库确没有内容.
数据库是oracle的.
请问.这是怎么回事呢?
怀疑同它有关.
你试试只在线程中创建query,
session,database多线程共用怎么样?当然,问题可能出在其它地方..
如果只是创建了query,则在进行大数据量的插入时,鼠标一直是处于忙的状态,这样肯定是不行
的。真的不知道问题出在什么地方。
~~~~~~~~~~~~ 奇怪,会是这样吗?据我的感觉,在非主线程中执行数据库操作的时候,
MOUSE的沙漏不会出现
可以贴出你相关部分源码吗?