Java.sql.SQLException: Index de colonne non valide error
halouma
-
Modifié par KX le 8/12/2015 à 07:40
KX
Messages postés16668Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention17 mars 2023
-
8 déc. 2015 à 07:44
Bonjour, erreur en ce code est "java.sql.SQLException: Index de colonne non valide error" comment résoudre ce probléme
package conectjdbc;
import java.sql.Connection;
import java.sql.PreparedStatement;
import javax.swing.JOptionPane;
import oracle.jdbc.OraclePreparedStatement;
import oracle.jdbc.OracleResultSet;
/**
*
* @author admin
*/
public class login extends javax.swing.JFrame {
Connection conn= null;
OraclePreparedStatement pst= null;
OracleResultSet rs=null;
/**
* Creates new form login
*/
public login() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jPanel1 = new javax.swing.JPanel();
userName = new javax.swing.JLabel();
passWord = new javax.swing.JLabel();
user_id = new javax.swing.JTextField();
login = new javax.swing.JButton();
Password = new javax.swing.JPasswordField();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "login", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Arial Black", 1, 24), new java.awt.Color(153, 153, 153))); // NOI18N
userName.setText("user Name");
passWord.setText("passWord");
login.setText("login");
login.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
loginActionPerformed(evt);
}
});
Password.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
PasswordActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(39, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(passWord, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(userName, javax.swing.GroupLayout.DEFAULT_SIZE, 63, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(user_id)
.addComponent(Password, javax.swing.GroupLayout.DEFAULT_SIZE, 194, Short.MAX_VALUE))
.addContainerGap())
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(login))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(userName)
.addComponent(user_id, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(passWord)
.addComponent(Password, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(login)
.addContainerGap(50, Short.MAX_VALUE))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(49, 49, 49)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(207, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(51, 51, 51)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(52, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void PasswordActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void loginActionPerformed(java.awt.event.ActionEvent evt) {
conn = ConectJdbc.ConectJdbc ();
try{
String sql="select user from sys where user_id= ahlam and password=halouma1";
pst=(OraclePreparedStatement) conn.prepareStatement(sql);
pst.setString(1, user_id.getText());
pst.setString(2, Password.getText());
rs=(OracleResultSet)(OraclePreparedStatement)pst.executeQuery();
if(rs.next()){
JOptionPane.showMessageDialog(null, "the username and password was successfully verified");
choice c=new choice();
c.setVisible(true);
}else{
JOptionPane.showMessageDialog(null, "invalid user");
}
}catch(Exception e){
System.out.println(e);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new login().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JPasswordField Password;
private javax.swing.JPanel jPanel1;
private javax.swing.JButton login;
private javax.swing.JLabel passWord;
private javax.swing.JLabel userName;
private javax.swing.JTextField user_id;
// End of variables declaration
}
KX
Messages postés16668Date d'inscriptionsamedi 31 mai 2008StatutModérateurDernière intervention17 mars 2023125 8 déc. 2015 à 07:44
Bonjour,
Tu fais :
String sql="select user from sys where user_id= ahlam and password=halouma1";
pst=(OraclePreparedStatement) conn.prepareStatement(sql);
pst.setString(1, user_id.getText());
pst.setString(2, Password.getText());
Si tu veux paramétriser ta requête avec setString il faudrait que tu ajoutes des ? dans ta requête, pour remplacer les valeurs en dur que tu as mis.
String sql="select user from sys where user_id= ? and password = ?";