2012-11-10 10 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

てみSQLからワイルドカードを削除し、値に追加するには:

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

Similar question here

+0

thankz maaan itz working ... –

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);

関連する問題