没执行一次游标,都会执行一下游标体里面的查询,每次查询都会有一个输出信息N行受影响。
SELECT (SUBSTRING(CP,10,4)+'-'+SUBSTRING(CP,14,2)+'-'+SUBSTRING(CP,16,2)+' '+SUBSTRING(CP,18,2)+':'+SUBSTRING(CP,20,2)+':'+SUBSTRING(CP,22,2)),SUBSTRING(CP,@SB,5),SUBSTRING(CP,@SA,5)
FROM [DB_ENVIDATACENTER].[dbo].[T_transmittal]
WHERE MN='83028583206005' AND CN='2011' AND QN BETWEEN @QN1 AND @QN2
看看SELECT CHARINDEX('S01',CP),CHARINDEX('S03',CP)
FROM [DB_ENVIDATACENTER].[dbo].[T_transmittal]
WHERE MN='83028583206005' AND CN='2011' AND QN BETWEEN @QN1 AND @QN2
结果是不坦拦是5行,如果是腔信前,提示5次5行受影伍清响,没问题。
ResultSet初始的指针是在查询结果的第一行之前,你袭运洞这样肯定取不出来.如果结果不为空的话,你先用rs.next()然后再取值是在你查询结悄带果的第一条之前,你用while(rs.next())已经把rs先前移了一条,即移到第一条记录那里.所以没错.每次执行next()都把指针向前移一条.而把while()的结尾花括号打在String content=rs.getString("content"),while已经执行结束,rs的指拍枯针对应的记录已经为空,你再取数据肯定出错.
建议看下api的说明文档
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)