首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java中if()判断解决办法

2012-01-10 
java中if()判断if( 0 .equals(conn.execute( selectdatediff(dd,max(sdate),getdate())fromsonginfo )

java中if()判断
if   ( "0 ".equals(conn.execute( "select   datediff(dd,   max(sdate),   getdate())   from   songinfo "))){
System.out.println( "11111111111111 ");
}
else{
conn.executeUpdate( "update   songinfo   set   dayhit=1 ");
System.out.println( "*********** ");
}

“select   datediff(dd,   max(sdate),   getdate())   from   songinfo”在查询分析器中的结果是0;

按道理说应该出来111111111111111,但结果是*************


[解决办法]
ResultSet 集合返回是一般SQL结果,更新返回影响行数。
集合和零比较亏你想的出来!

请多看看书!!少提问!
[解决办法]
你应该用ResultSet来获取查询结果,conn.execute()的返回结果当然不是字符串,它是ResultSet
ResultSet rs=null;
rs=conn.execute( "select datediff(dd, max(sdate), getdate()) as difference from songinfo ");
if( "0 ".equals(rs.get( "difference "))){
System.out.println( "11111111111111 ");
}
else{
conn.executeUpdate( "update songinfo set dayhit=1 ");
System.out.println( "*********** ");
}


你那个代码结构太乱了,
[解决办法]
应该用0 == ...而非 "0 ".equals

后者会被JDK 1.5之后的编译器等同于:
"0 ".equals(Integer.valueOf(...))

所以肯定不相等
[解决办法]
我真的是服了你了, "0 "字符串,怎么和一个集合比较呢??它的返回类型不是一个字符串哈,哎,这肯定不会打印得出来嘛!我来给你改改:

String sql=( "select datediff(dd, max(sdate), getdate()) from songinfo ");
ResultSet rs=null;
rs=conn.execute(sql);

if (rs==null){
System.out.println( "11111111111111 ");
}
else{
conn.executeUpdate( "update songinfo set dayhit=1 ");
System.out.println( "*********** ");
}

热点排行