数据库 JDBC的 小bug,求助帮忙解释一下,数据库用的数mysql
import java.sql.Connection;
import java.util.Scanner;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Snippet {
public static void main(String[] args) throws SQLException,
ClassNotFoundException {
// 注册驱动
Class.forName("com.mysql.jdbc.Driver");
// 连接数据库
Connection conn = DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/herodb", "root", "123");
// 项数据库发送sql语句
String sql = "select * from hero_tb where heroName = ?";
PreparedStatement pst = conn.prepareStatement(sql);
Scanner sc = new Scanner(System.in);
System.out.println("请输入英雄名称");
String name = sc.nextLine();
pst.setString(1, name);
// 返回结果集
ResultSet result = pst.executeQuery();
// 遍历结果集
while (result.next()) {
String heroName = result.getString("heroName");
int price = result.getInt("price");
boolean bought = result.getBoolean("bought");
String slogan = result.getString("slogan");
if (name.equals(heroName)) {
System.out.println(heroName + "," + price + "," + bought + ","
+ slogan);
break;
}else {
System.out.println("没有该英雄");
}
}
}
}
//以上代码中,如果你你输入的英雄名存在,则正常显示他的内容,但是如果你输入不正确, else里面的语句不执行,,,真心想不明白哪里有问题,求指教.万分感谢!