hur.cn - 华软网

 热门搜索

为什么插入数据时,程序就没有响应,等着调好回家过年!!!

  作者:未知    来源:网络    更新时间:2019/6/11
我用PB6.5+oracle8写的程序,在插入表时,程序就没有响应了,等着调好回家过年,我想哭了!讨教高手,期待拯救!!!
代码以下:
insert into ticket_xuqiu(ID,CC,FCDD,DZDD,SJ,KYD,KYDDH,YHM,YHMDH,DJGH,BZ,DJSJ,ZS)
values(:ll_max,:ls_cc,:ls_fcdd,:ls_dzdd,:ls_sj,:ls_xqd,:ls_xqddh,:ls_xqyh,:ls_yhdh,:ls_gh,:ls_bz,:ls_djsj,:ll_zs) using sqlca;
if SQLCA.sqlCODE=0 then
      commit using sqlca;
  else
      MessageBox("插入失利", SQLCA.SQLErrText)
rollback;
end if
表ticket_xuqiu 字段ID唯一索引。数据很少,就300-400条。
------华软网友回答------
if SQLCA.sqlCODE=0 then
      commit using sqlca;有问题
------华软网友回复------
我把if SQLCA.sqlCODE=0 then
      commit using sqlca;
  else
      MessageBox("插入失利", SQLCA.SQLErrText)
rollback;
end if
去掉,还时一样,不能够的,期待拯救!!
------华软网友回复------
1.用debug模式看一下是那里停止了.
2.如果数据库是多人同时运用,有可能是他人锁住了表.
------华软网友回复------
用DEBUG看了,就时在执行insert 时,不响应了。
我想是可能锁表了,有什么好措施能够解决吗?
------华软网友回复------
插入时先去掉几个字段试试
------华软网友回复------
我遇到过这样的问题,就是Sql语句没有问题,然则就是不能写入到数据库,lz能够看下,是否是数据库中的字段巨细问题,如果你定义的字段长度为4,然则在写入数据时长度大于4,这时就不能写入数据库,而且还没有毛病提醒。

只是建议,呵呵
------华软网友回复------
是锁表了,请问PB中能实现解锁功能吗?谢谢列位了!!
------华软网友回复------
insert into ticket_xuqiu(ID,CC,FCDD,DZDD,SJ,KYD,KYDDH,YHM,YHMDH,DJGH,BZ,DJSJ,ZS)
values(:ll_max,:ls_cc,:ls_fcdd,:ls_dzdd,:ls_sj,:ls_xqd,:ls_xqddh,:ls_xqyh,:ls_yhdh,:ls_gh,:ls_bz,:ls_djsj,:ll_zs) using sqlca;

在这条语句后面增加一条:
messagebox("",sqlca.sqlerrtext)
------华软网友回复------
看看什么提醒!
------华软网友回复------
设置:
SQLCA.AUTOCOMMIT=FALSE

然后试试看!
------华软网友回复------
SQLCA.AUTOCOMMIT=TRUE 时,PB会自动起头一个新事务,多人操作时容易死锁!
------华软网友回复------
SQLCA.AUTOCOMMIT=TRUE时,PB会自动起头一个新事务,多人操作时容易死锁!
--------
晕。 是SQLCA.AUTOCOMMIT=false,PB会自动起头一个新事务
------华软网友回复------
每一个事务执行后要立即commit;
否则很容易出现死锁。
修改你(或你们)的程序
死锁是数据库保证数据平安与完整性的体制,不要试图越过它。
------华软网友回复------
过年回来了,问题解决了,帖子该结了
------华软网友回复------
分一杯羹      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。