您的位置:程序门 -> db2 -> 数据库开发



紧急求救resultset嵌套问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


紧急求救resultset嵌套问题[已结贴,结贴人:floadwater]
发表于:2007-01-11 17:19:53 楼主
突然发现我的db2中的表如果是出于查询状态,那么再update就过不去了,在调试状态就停在update语句上不动了。而且表锁了。开发工具是websphere   。那位大侠知道是什么原因?

connection   cn=null;
initialcontext   ctx=null;
datasource   ds=null;
statement   stmt=null;
resultset   rs=null;

statement   tempstmt=null;
resultset   temprs=null;

ctx   =   new   initialcontext();
ds=(datasource)   ctx.lookup( "wmsmngjndi ");
cn=ds.getconnection();
stmt=cn.createstatement();  
tempstmt=cn.createstatement();  

string   tmpstr= " ";

rs=stmt.EXECutequery( "select   *   from   table1 ");  

while(rs.next()){
        tmpstr=rs.getstring( "r1 ");
        tempstmt.EXECuteupdate( "update   table1   set   stat= 'y '   where   r1= ' "+tmpstr+ " ' ");

}

在调试状态下当运行到tempstmt.EXECuteupdate( "update   table1   set   stat= 'y '   where   r1= ' "+tmpstr+ " ' ");就不动了。
发表于:2007-01-15 09:11:491楼 得分:0
拜托,有没有人能解决?
发表于:2007-04-16 08:50:532楼 得分:50
将这几行代码
/////////////////
rs=stmt.EXECutequery( "select   *   from   table1 ");

while(rs.next()){
tmpstr=rs.getstring( "r1 ");
tempstmt.EXECuteupdate( "update   table1   set   stat= 'y '   where   r1= ' "+tmpstr+ " ' ");

}
/////////////////
改为
////////////
tempstmt.EXECuteupdate( "update   table1   set   stat= 'y '   where   r1= ' "+tmpstr+ " ' ");
///////////
功能是一样的,前面的代码,你是想把table1的stat变成 'y ',这一条语句就能做到,你再看看是不是?
发表于:2007-04-16 08:55:043楼 得分:0
修改一下,应该是
////
tempstmt.EXECuteupdate( "update   table1   set   stat= 'y ' ");
////


快速检索

最新资讯
热门点击