2016-08-23 1 views
0
try { 
    int c=1; 
    pstmt = conn.prepareStatement(NHMQueryConstant.INSERT_INTO_USER.toString()); 

     pstmt.setInt(c++, userID); 
     pstmt.setInt(2, userTypeID); 
     pstmt.setString(c++,userName); 
     pstmt.setString(c++,NameInHindi); 
     pstmt.setString(c++,loginID); 
     pstmt.setString(c++,password); 

     int result = Integer.parseInt(mobile); 
     System.out.println(result); 
     pstmt.setInt(c++,result); 
     pstmt.setString(c++,email); 
     System.out.println(email); 
     /* 
     java.util.Date date = new SimpleDateFormat("yyyy-MM-dd").parse(dob); 
     java.sql.Date sqlDate = new java.sql.Date(date.getTime()); 
     pstmt.setDate(c++, sqlDate); 
     System.out.println(sqlDate); 
     */ 
     //pstmt.setDate(++c,new Date(new java.util.Date().getTime())); 
     pstmt.executeUpdate(); 
} 



public static final String INSERT_INTO_USER = new StringBuilder("") 
    .append("INSERT INTO m_user_master (M_User_Id,User_Type_ID,M_User_Name,M__User_Name_Hindi,Login_ID,Password,Mobile,Email)") 
     .append("VALUES(USER_ID_SEQ.NEXTVAL,'2',?,?,?,?,?,?)").toString(); 

Ich bin immer Fehler User_ID_seq.nextval unbekannt column.how kann ich Einsatz außerhalb des Bereichs immer Parameterindex.Ich bin immer Fehler User_ID_seq.nextval unbekannt Spalte

+0

Verwenden Sie JPA. Die Art, wie Sie es tun, ist offen für SQL Injection Attachk –

+0

Ich benutze mysql und Java. – Nidhi

+0

Scary Wombat hat Recht, übrigens verwenden Sie falsche Syntax für MySQL, wenn Ihre Tabelle AUTOINCREMENT Feld für user_id hat, dann könnten Sie es als öffentliche statische letzte String tun INSERT_INTO_USER = new StringBuilder ("") .append ("INSERT INTO m_user_master (User_Type_ID, M_User_Name, M_User_Name_Hindi, Login_ID, Password, Mobile, Email) ") .append (" VALUES ('2',?,?,?,?,?,?) "). toString(); –

Antwort

0

Wenn Sie ID automatisch generiert (zB AUTOINCREMENT in MySQL-Syntax) und wollen nicht über id kümmern Sie diese wie könnte

public static final String INSERT_INTO_USER = "INSERT INTO " + 
      "m_user_master (M_User_Name,M__User_Name_Hindi,Login_ID,Password,Mobile,Email)" + 
      " VALUES('2',?,?,?,?,?,?)"; 

Und Sie haben

pstmt.setInt(c++, userID); 
pstmt.setInt(2, userTypeID); 

entfernen Wenn Sie möchten ID-Generierung in Java zu handhaben, dann können Sie es tun

public static final String INSERT_INTO_USER = "INSERT INTO " + 
      "m_user_master (M_User_Id,M_User_Name,M__User_Name_Hindi,Login_ID,Password,Mobile,Email)" + 
      " VALUES(?,'2',?,?,?,?,?,?)"; 

und entfernen Sie nur

pstmt.setInt(2, userTypeID); 
Verwandte Themen