Java 驗證用戶名、密碼

1. 數據庫操做

2.驗證用戶

2.1. 查詢

String sql = String.format("select count(*) from user where name='%s' and password='%s';", userName,
                    userPass);

int row = 0;
jb.queryForObject(sql, Integer.class, row );

  根據 row 的值來判斷是否有該用戶。html

2.1. 錯誤 

Parameter index out of range (1 > number of parameters, which is 0)

2.1.1. sql語句

  測試後沒問題java

2.1.2. 猜想一

  format 語句錯誤,檢查後發現沒錯sql

2.1.3. 猜想二

  int 改成 integer ,改後也沒有變化數據庫

2.1.4. 仍是從提示自己入手

  好像是說 jb.queryForObject(sql, Integer.class, row ); 有問題。網上查了下,改成:post

Integer row = (Integer) jb.queryForObject(
                    "select count(*) from user where name=? and password=?",new Object[] {userName, userPass},    
                    java.lang.Integer.class);
  • 成功了!!!
  • ‘%d’'?' 要改成 ?
  • 應該想到 已經鏈接成功,這個錯誤是出在查詢上。
相關文章
相關標籤/搜索