久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

java.sql.SQLException:對空結(jié)果集的非法操作。驗證時

瀏覽:105日期:2024-05-03 09:46:58
如何解決java.sql.SQLException:對空結(jié)果集的非法操作。驗證時?

您應該使用以下結(jié)果rs.next():

if (rs.next()) {n=rs.getString('id');m=rs.getString('pass'); }

如果rs.next()返回false,則表示查詢未返回任何行。

解決方法

我想做的是:

接受用戶名(uname)和密碼(passw)作為用戶輸入。

使用ResultSet,檢索唯一的元組,數(shù)據(jù)庫中的用戶名和用戶適合的用戶名均指向該元組。該元組將包含用戶名和密碼。

如果用戶提供的密碼也適合數(shù)據(jù)庫中的密碼,則顯示以下信息:兩種認證均正確,否則其中一種錯誤。

除一種情況外,一切正常。當用戶名本身錯誤時,mysql將根本找不到該屬性,并且會出現(xiàn)此錯誤:java.sql.SQLException: Illegaloperation on empty result set.

代碼是:

ok.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent ae){ String uname=jf1.getText(); String passw=jf2.getText(); String n; String m; try {Class.forName('com.mysql.jdbc.Driver').newInstance();Connection conn = DriverManager.getConnection('jdbc:mysql://localhost/authentication?' + 'user=root&password=letmein');PreparedStatement stmt=conn.prepareStatement('Select * from admin where id = ?');stmt.setString(1,uname);ResultSet rs=stmt.executeQuery();rs.next();n=rs.getString('id');m=rs.getString('pass');conn.close();if(n.equalsIgnoreCase(uname) && m.equalsIgnoreCase(passw)){ JOptionPane.showMessageDialog(null,'Username and password is correct');}else{ JOptionPane.showMessageDialog(null,'Username or password is not correct');} } catch(Exception ex) { System.out.println(ex); }}//end of actionperformed });//end of actionlistener

我有什么辦法可以一次完成兩個操作(在關(guān)閉與數(shù)據(jù)庫的連接之前)?如果沒有,有什么替代方法?

標簽: java
相關(guān)文章:
主站蜘蛛池模板: 昭通市| 库伦旗| 迁西县| 北流市| 濉溪县| 宜君县| 衢州市| 周宁县| 长汀县| 航空| 九龙坡区| 定南县| 广丰县| 云龙县| 镇江市| 定西市| 石台县| 汉阴县| 建阳市| 信宜市| 张北县| 长葛市| 芦山县| 彩票| 来安县| 保靖县| 镇远县| 嘉义市| 阜新| 临汾市| 吴江市| 枞阳县| 蚌埠市| 长兴县| 沈阳市| 洪洞县| 南江县| 馆陶县| 镇坪县| 乐平市| 夏河县|