以下是我的所建的表的记录:
书号 书名 价格
001 web开发 23
002 java设计 30
003 C语言 39
004 操作系统 70
005 金融学 55
006 高等代数 27我的java代码是找出书号为002这本书,并打印出来它的价格,以下是代码:
import java.sql.*;public class Mytest1 {
public static void main(String[] args) throws Exception {
//更新数据库的名字,便可以建立对SQLServer的联接
String url = "jdbc:odbc:bookshopdatabase";
Connection conn;
String output = new String("002");
String price = null;
//建立连接类
try{
//告诉程序使用jdbc与odbc桥创建数据库联接
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("JDBC-ODBC的驱动程序注册成功");
}catch(Exception e){
System.out.println("找不到JDBC-ODBC的驱动程序");
}
try{
//使用DriverManager类的getConnection()方法建立联接,第一个字符参数定义用户名,
//第二个字符参数定义密码
conn = DriverManager.getConnection(url, "sa", "1982101");
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("select * from book");
while(rs.next()){
if(output.equals(rs.getString(1))){
price += rs.getString(3);
}
}
System.out.println(price);
}catch(Exception e){
e.printStackTrace();
}
}
} 问题是我的这段代码while循环里的if语句里的语句没有运行到!!!
就算改为"output == rs.getString(1)"也不行,为什么??请高手指点!!!
书号 书名 价格
001 web开发 23
002 java设计 30
003 C语言 39
004 操作系统 70
005 金融学 55
006 高等代数 27我的java代码是找出书号为002这本书,并打印出来它的价格,以下是代码:
import java.sql.*;public class Mytest1 {
public static void main(String[] args) throws Exception {
//更新数据库的名字,便可以建立对SQLServer的联接
String url = "jdbc:odbc:bookshopdatabase";
Connection conn;
String output = new String("002");
String price = null;
//建立连接类
try{
//告诉程序使用jdbc与odbc桥创建数据库联接
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
System.out.println("JDBC-ODBC的驱动程序注册成功");
}catch(Exception e){
System.out.println("找不到JDBC-ODBC的驱动程序");
}
try{
//使用DriverManager类的getConnection()方法建立联接,第一个字符参数定义用户名,
//第二个字符参数定义密码
conn = DriverManager.getConnection(url, "sa", "1982101");
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("select * from book");
while(rs.next()){
if(output.equals(rs.getString(1))){
price += rs.getString(3);
}
}
System.out.println(price);
}catch(Exception e){
e.printStackTrace();
}
}
} 问题是我的这段代码while循环里的if语句里的语句没有运行到!!!
就算改为"output == rs.getString(1)"也不行,为什么??请高手指点!!!
解决方案 »
- 大家帮我看一下这几行代码的意思吧
- 高分求解——某软件公司高级软件人员测试题
- 关于学习DOM4J
- 有关于sql server 2005的,路过的帮看看这个装的全不全
- javascript 写 svg onmouseover & onmouseout 事件嵌在java程序中
- 如何把cookie中的用户名直接放到用户名的文本框中
- 有人来晒工资吗?
- 求Treeview这个类的等等
- java网络问题!不是很难,帮着看看吧!
- 帮忙分析一下这个语句Toolkit.getDefaultToolkit().getImage()
- 欢迎加入java-eclipse用户群!!!!!!!!!!!
- java 中不允许类的多继承,只允许单一继承的话....
JDBC不会这么弱吧,要靠字符串判断来检索?
看看你取出结果没有,不就行了,还有如果你设置数据库字段类型太大(如char(50)),你就应该取字段的时候rs.getString(1).trim(),因为字符数不够会用空格补的,所以你判断不出是否一致
怎么麻烦干吗!!