在這里我從文本字段中獲取值private void btnLoginActionPerformed(java.awt.event.ActionEvent evt) { String userName = txtUserName.getText(); char[] passwordArray = txtPassword.getPassword(); String password = " "; for(int i = 0; i < passwordArray.length; i++){ password = password + passwordArray[i]; } int numberOfRecords = 0; if(userName.equals("") || password.equals("")){ JOptionPane.showMessageDialog(this, "Please fill the form properly:"); }else{ System.out.println("i am here"); numberOfRecords = userServices.tryLogin(userName, password); System.out.println("after number of records"); if(numberOfRecords == 1){ this.dispose(); mainForm.setVisible(true); }else{ JOptionPane.showMessageDialog(this, "Sorry user name or password is incorrect:"); } } txtUserName.setText(" "); txtPassword.setText("");}這是我的嘗試登錄方法public int tryLogin(String userName, String password) { int numberOfRecords = 0; SQLQueryUtil sql = new SQLQueryUtil(); sql.connect(false); String query = "SELECT COUNT(*) AS `number_of_records` FROM `user` " + "WHERE `userName`='" + userName + "' AND `password`='" + password + "';"; System.out.println(query); ResultSet resultSet; try{ resultSet = sql.executeQuery(query); resultSet.isBeforeFirst(); numberOfRecords = resultSet.getRow(); System.out.println("number of Records =" + numberOfRecords); } catch (Exception ex) { ex.printStackTrace(); } finally{ sql.disconnect(); } System.out.println("i am here also.............................."); return numberOfRecords;}當我點擊登錄按鈕時,它顯示以下結果驅動程序加載連接建立語句創建選擇計數(*)number_of_records從user哪里userName=''和password='';記錄數 =0
2 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
您正在用空格聲明密碼。只需刪除密碼聲明中的空格并嘗試 .
String password = "";
for(int i = 0; i < passwordArray.length; i++){
password = password + passwordArray[i];
}

小唯快跑啊
TA貢獻1863條經驗 獲得超2個贊
getRow() 方法檢索當前行號,而不是行數。因此,在開始迭代 ResultSet 之前,getRow() 返回 0。
所以嘗試這種方式。
resultSet.last();
total = resultSet.getRow();
resultSet.beforeFirst();
添加回答
舉報
0/150
提交
取消