java中if()判断

answer512 2007-08-30 03:53:56
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,但结果是*************
...全文
1574 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyyu119 2007-08-31
  • 打赏
  • 举报
回复
不相等肯定返回**咯
edien8wing 2007-08-31
  • 打赏
  • 举报
回复
......conn.execute返回的是什么?
Aiying0501 2007-08-31
  • 打赏
  • 举报
回复
这个问题太简单了,这么多人跑上来回答,哈哈


没有人会得分的,哎
yingzi107 2007-08-31
  • 打赏
  • 举报
回复
41801837程序员群 欢迎加入
snowswansaga 2007-08-31
  • 打赏
  • 举报
回复
conn.execute 的返回值不是字符串

无法比较

不过可以把集合里的某一个元素 用ResultSet.getString(列)取出再进行比较



baobaoxushisong 2007-08-31
  • 打赏
  • 举报
回复
kwg
learlee 2007-08-31
  • 打赏
  • 举报
回复
edien8wing() ( ) 信誉:100
......conn.execute返回的是什么?


返回的是 执行一个SQL语句的结果 叫做 结果集
accept88 2007-08-30
  • 打赏
  • 举报
回复
我真的是服了你了,"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("***********");
}
answer512 2007-08-30
  • 打赏
  • 举报
回复
还是不行啊!!!!
baihong888 2007-08-30
  • 打赏
  • 举报
回复
关注!!!
Camelh 2007-08-30
  • 打赏
  • 举报
回复
没看仔细.应该是:
if(0==rs.getInt("difference")){
***********
}else{
***********
}
baihong888 2007-08-30
  • 打赏
  • 举报
回复
不行!
hzalan 2007-08-30
  • 打赏
  • 举报
回复
ExceptSet es=null;
rs=conn.execute("select datediff(dd, max(sdate), getdate()) from songinfo");
if(es.equals(rs)){
System.out.println("11111111111111");
}
else{
conn.executeUpdate("update songinfo set dayhit=1");
System.out.println("***********");
}

行?
lfcai 2007-08-30
  • 打赏
  • 举报
回复
多看看别人的代码啊
lalakid 2007-08-30
  • 打赏
  • 举报
回复
帮顶
answer512 2007-08-30
  • 打赏
  • 举报
回复
“0 ==”也不可以啊!
ChDw 2007-08-30
  • 打赏
  • 举报
回复
应该用0 == ...而非"0".equals

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

所以肯定不相等
answer512 2007-08-30
  • 打赏
  • 举报
回复
楼上的报错了!
Exception in thread "main" java.lang.NullPointerException
at com.dao.time.main(time.java:12)
Camelh 2007-08-30
  • 打赏
  • 举报
回复
你应该用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("***********");
}


你那个代码结构太乱了,
APOLLO_TS 2007-08-30
  • 打赏
  • 举报
回复
ResultSet 集合返回是一般SQL结果,更新返回影响行数。
集合和零比较亏你想的出来!

请多看看书!!少提问!
加载更多回复(4)

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧