我正在開發個人項目。我正在創建一個打卡時鐘程序,因此我需要幫助的部分是用戶在jTextField中輸入uid的位置。所以,我需要檢索uid(#######),然後用sql語句在數據庫中搜索該uid。所以這就是我迄今爲止的情況。問題是,有jTextField1.getText下紅線,當,當我運行它,說=如何從jTextField中檢索信息
"setInt(int,int) in java.sql.PreparedStatement cannot be applied to (int,java.lang.String) pstmt.setInt(1, jTextField1.getText());"
任何幫助表示讚賞。謝謝。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
try{
stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
String sql = "SELECT * FROM Students WHERE STUDENTID = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1, jTextField1.getText()); // Retrieve uid from jTextField
ResultSet rs = pstmt.executeQuery();
while(rs.next()){
String first = rs.getString(2);
String last = rs.getString(3);
String hours = rs.getString(6);
fName.setText(first);
lName.setText(last);
tHours.setText(hours);
}
}
catch(SQLException err){
JOptionPane.showMessageDialog(Student.this, err.getMessage());
}
}
有什麼問題? – user845279
SORRY !!問題是在jTextField1.getText下有一條紅線,當我運行它時,在java.sql.PreparedStatement中說=「setInt(int,int)不能應用於(int,java.lang.String) pstmt.setInt(1,jTextField1.getText());「 –
[離題]:這種方法是由EDT調用的嗎?你可能不想在美國東部時間做這個I/O。 –