2014-11-25 42 views
0

我正在使用Sqlite,這是我爲我的數據庫編寫的代碼,以及運行時顯示困境的圖片。搜索需要整個字段的內容,但我只想通過幾個字母來搜索

我必須輸入表字段的全文,以獲得搜索結果。但我只想輸入幾個字母來調出結果。

private void txt_SearchKeyReleased(java.awt.event.KeyEvent evt) {          
    // TODO add your handling code here: 


    try { 

     String sql ="select * from GameList1 where Name =?"; 
     pst=conn.prepareStatement(sql); 
     pst.setString(1, txt_Search.getText()); 

     rs=pst.executeQuery(); 
     if(rs.next()) { 

      String add1=rs.getString("GameID"); 
      txt_GameID.setText(add1); 
      String add2=rs.getString("Name"); 
      txt_Name.setText(add2); 
      String add3=rs.getString("Company"); 
      txt_Company.setText(add3); 
      String add4=rs.getString("Format"); 
      txt_Format.setText(add4); 
      String add5=rs.getString("YearMade"); 
      txt_Year.setText(add5); 
      String add6=rs.getString("YearReleased"); 
      txt_Release.setText(add6); 


     } 
    } 
} 

回答

0

我假設你想從數據庫中檢索數據,只需鍵入幾個字母,而不是按全行值進行搜索。如果這是問題,那麼解決方案將是LIKE運算符。

實施例:

try { 
    String sql ="select * from GameList1 where Name LIKE ?"; 
    String PERCENTAGE_SIGN="%"; 
    pst=conn.prepareStatement(sql); 
    pst.setString(1, PERCENTAGE_SIGN+txt_Search.getText()+PERCENTAGE_SIGN); 

    rs=pst.executeQuery(); 
    if(rs.next()) { 

     String add1=rs.getString("GameID"); 
     txt_GameID.setText(add1); 
     String add2=rs.getString("Name"); 
     txt_Name.setText(add2); 
     String add3=rs.getString("Company"); 
     txt_Company.setText(add3); 
     String add4=rs.getString("Format"); 
     txt_Format.setText(add4); 
     String add5=rs.getString("YearMade"); 
     txt_Year.setText(add5); 
     String add6=rs.getString("YearReleased"); 
     txt_Release.setText(add6); 


        } 
    } 
+0

私人無效txt_SearchKeyReleased(java.awt.event.KeyEvent中EVT){ 高於嘗試,catch語句。 – 2014-11-25 11:36:41

+0

編輯我的答案。 – drgPP 2014-11-25 11:38:19

+0

我會嘗試這些步驟給我回合3分鐘 – 2014-11-25 11:40:06