2012-11-10 20 views
5

जबकि से बाहर सूचकांक इस कोड का उपयोग कर रहा यह पता चलता है java.sql.SQLException Parameter index out of range (1 > number of parameters, which is 0):java.sql.SQLException पैरामीटर रेंज

private void cmd_searchActionPerformed(java.awt.event.ActionEvent evt) {           
try{ 

String sql = "select * from STD where Name like '%?%' "; 
     pst=conn.prepareStatement(sql); 
     pst.setString(1,TXT_STUDENTNAME.getText()); 
     String value=TXT_STUDENTNAME.getText(); 
     rs=pst.executeQuery(); 
     jTable1.setModel(DbUtils.resultSetToTableModel(rs)); 

      }catch(Exception e){ 
     JOptionPane.showMessageDialog(null,e); 
    }   
}  

मैं इस अपवाद से कैसे ठीक हो सकता है? एसक्यूएल से वाइल्डकार्ड को हटाने और मूल्य में जोड़ने के लिए

उत्तर

2

प्रयास करें:

String sql = "select * from STD where Name like ? "; 
pst=conn.prepareStatement(sql); 
pst.setString(1,"%"+TXT_STUDENTNAME.getText()+"%"); 

Similar question here

+0

धन्यवाद मैन itz काम कर रहा है ... –

0
private void cmd_searchActionPerformed(java.awt.event.ActionEvent evt) {           
try{ 

String sql = "select * from STD where Name like '%?%' "; 
     String strStudentName = TXT_STUDENTNAME.getText(); 
     pst=conn.prepareStatement(sql); 
     pst.setString(1,strStudentName); 
     rs=pst.executeQuery(); 
     jTable1.setModel(DbUtils.resultSetToTableModel(rs)); 

      }catch(Exception e){ 
     JOptionPane.showMessageDialog(null,e); 
    }   
} 

मुझे लगता है कि यह तुम्हारी मदद करेगा ..

स्ट्रिंग strStudentName = TXT_STUDENTNAME.getText(); pst.setString (1, strStudentName);

संबंधित मुद्दे