以下是我的所建的表的记录:
书号 书名 价格
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)"也不行,为什么??请高手指点!!!
解决方案 »
- JFrame添加皮肤后JTable数据显示出错
- 【100分】java 服务器开发Socket 多线程的问题
- 在panel上画图形 为什么不显示?
- compareto 和 equales 问题,急。。。。。
- 程序打包成jar文件出现问题,在eclipse里边运行正常
- java ip地址问题.
- 怎么安装jade啊 救救我吧 GGJJ们
- 简单的代码问题,请各位帮帮忙!!!
- 关于java虚拟机,我真的迷茫了,求帮助。
- 我喜欢java的思想和编程模式,能谈一下你们喜欢java的理由吗?
- 欢迎加入java-eclipse用户群!!!!!!!!!!!
- java 中不允许类的多继承,只允许单一继承的话....
JDBC不会这么弱吧,要靠字符串判断来检索?
看看你取出结果没有,不就行了,还有如果你设置数据库字段类型太大(如char(50)),你就应该取字段的时候rs.getString(1).trim(),因为字符数不够会用空格补的,所以你判断不出是否一致
怎么麻烦干吗!!