查询s_user表,无论怎么修改查询语句,没有任何结果。换成其他表,却有查询结果(表是由system创建,我也是用system登录的,有查询权限)。rs.next()总是返回false,没有任何查询结果。
s_user数据如下

相关代码如下
public class Login implements userAuthority {
private static Connection conn;
private static Statement pst;
private static ResultSet rs;
private static Statement st;
private static String sql = "select * "
+ "from s_user ";
// + "where userkey = '1001' ";
private Login() {
// 禁止创建实例
}
// 测试启用int,返回用户类型,实际应返回一个用户实例
public static int loginSystem(String userId,String password)
throws NoUserFound_Or_InvalidPassword {
try {
conn = Jdbc.getConnection();
pst = conn.createStatement();
// 开始查询
rs = pst.executeQuery(sql);
// 用户不存在or密码错,没有查询结果
while ( rs.next() != false ){
String r = rs.getString(1);
System.out.println(r); // 简单测试一下
}
// 没有查询结果
throw new NoUserFound_Or_InvalidPassword();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
////////////////////////////////////下面是连接oracle的过程
public class Jdbc {
private static String url = "jdbc:oracle:thin:@localhost:1521:orcl";
private static String user = "system";
private static String password = "lxr7195023";
private static Connection conn;
private static PreparedStatement ps;
private static ResultSet rs;
private static Statement st;
// private Jdbc(){
// // 禁止创建 class jdbc的实例
// }
public static Connection getConnection(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
//通过验证用户名和密码链接数据库
if ( conn == null )
conn = DriverManager.getConnection(url,user,password);
if(conn == null){
System.out.println("与oracle数据库连接失败!");
}else{
System.out.println("与oracle数据库连接成功!");
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return conn;
}
------解决思路----------------------
你插入数据之后 有没有提交事务?
------解决思路----------------------
你插入数据之后 有没有提交事务?
数据库里应该是还有其他的表吧 你看看查询其他的表 是不是也是这样的?
在这个程序写之前,有t_student和t_score两个表,这两个表都查询成功了。程序写了之后,我新建了好几个表,都不能查询、删除、更新暑数据,但是可以插入数据(上述操作是用程序执行的)。
如何提交事物?通过java程序如何提交?
在SQL查询器中输入提交命令 commit; 使更新和插入数据生效,再查询看看。