标题:select count(*) from products 得出结果令我郁闷,
取消只看楼主
zbs
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-30
 问题点数:0 回复次数:3 
select count(*) from products 得出结果令我郁闷,

我在booklist.jsp中调用这个一个ID为book_list的javabean的一个
函数book_search(request)
这个函数一部份是这样的
public boolean book_search(HttpServletRequest res) throws Exception {
DataBase db = new DataBase();
db.connect();
stmt = (db.conn).createStatement ();

ResultSet rs2 =stmt.executeQuery("select count(*) from products");
while (rs2.next()){

System.out.println("number="+rs2.getInt(1));//这个地方他等于0,,为什么?


}
rs2.close()

。。。。。。。。


其中这个bean extends DataBase

DataBase 基本代码如下:


public class DataBase {
public Connection conn;
public Statement stmt;
public ResultSet rs=null;
//public Init
public boolean connect(){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
String url ="jdbc:microsoft:sqlserver://localhost:1433;DababaseName=BookShop";
conn = DriverManager.getConnection(url,"sa","");
//stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

}
catch(Exception e){
System.out.println("connect database error");
return false;
}
return true;
}


我的问题是: 通过上面的方法 为什么得出number=0呢!
后来,我做了一个实验 做两个java,一个类extends别一个类
结果是对的

搜索更多相关主题的帖子: count products select 结果 
2007-05-01 11:48
zbs
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-30
得分:0 


先谢谢的回复
如果按照你的方法,number的值等于1

所以我得出的结论是 这个语句肯定是进行了查询了,但是返回的是没有值
所以 也能执行到
while(rs2.next())
{
i++;

}
所以你的方法number=1;
我在的方法number=0
换句话说,数据库是进行了查询,返回的是没有值(我在数据库和表都正确并且有值)

2007-05-01 13:24
zbs
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-30
得分:0 

楼上的没误导我啊,大家 多多讨论,多多学习啊

我的本意是想计算出数据库中 表的记录数有总共多少条,但是让我很郁闷的是他总是等于0 ,select count(*) from products好像是求总录数吧


ResultSet rs2 =stmt.executeQuery("select count(*) from products");
while (rs2.next()){

System.out.println("number="+rs2.getInt(1));//这个地方他等于0,,


}
2007-05-01 16:53
zbs
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-4-30
得分:0 

我今天 搞了一天
在本工程里面 我怎么改都是 一个 为0
后来 我建立一个 工程,做实验,发现 结果都是对的


于是我,,我把刚开始错的工程中的这个str=dbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookShop
这个重写了一次,发现结果都是对的
我比较刚才的str发现 两个str是一模一样 的,但是在我机子结果不一样,


就是下面这两个: 有兴趣你们可以试试(有时侯上网考下面的东西用不了),
我不知道是不是机子问题?

jdbc:microsoft:sqlserver://localhost:1433;DababaseName=BookShop
jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=BookShop(正常)

2007-05-01 23:41



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-136390-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.234640 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved