2016-08-22 4 views
0
List<UserLoginDTO> userDTOList=new ArrayList<UserLoginDTO>(); 
UserLoginDTO user= null; 
try { 
    pstmt = conn.prepareStatement(NHMQueryConstant.GET_SEARCH_USER_DETAIL.toString()); 
    pstmt.setString(1,searchUser); 
    rs = pstmt.executeQuery(); 
    while (rs.next()) { 
     user= new UserLoginDTO(); 

     //user= new UserLoginDTO(); 
     //String login= rs.getString("Login_ID"); 

     user.setUserId(rs.getInt("M_USER_ID")); 
     user.setUserName(rs.getString("M_USER_NAME")); 
     user.setLoginID(rs.getString("Login_ID")); 
     user.setUserTypeID(rs.getInt("USER_TYPE_ID")); 
     user.setPassword(rs.getString("PASSWORD")); 
     user.setMobile(rs.getString("MOB_NO")); 
     user.setEmail(rs.getString("EMAIL")); 
     userDTOList.add(user); 

    } 
} catch (Exception e) { 
    throw new NHMException(e.getMessage()); 
} 

public static final StringBuilder GET_SEARCH_USER_DETAIL = 
    new StringBuilder(). 
    append(" SELECT * FROM m_user_master"). 
    append(" WHERE M_User_Name = IFNULL(NULL,M_User_Name) 
       AND Login_id = IFNULL('?',Login_id) limit 1 "); 

Ich erhalte Parameterindex außerhalb des Bereichs in diesem Code. Bitte korrigieren Sie michParameterindex außerhalb des Bereichs mysql java

Antwort

0

Platzhalter in SQL-Abfrage sollten nicht zitiert werden. Korrekte Abfrage:

public static final StringBuilder GET_SEARCH_USER_DETAIL = new StringBuilder().append(" SELECT * FROM m_user_master").append(" WHERE M_User_Name = IFNULL(NULL,M_User_Name)AND Login_id = IFNULL(?,Login_id) limit 1 "); 
+1

Vielen Dank Es funktioniert jetzt gut. – Nidhi

Verwandte Themen