2013-07-13 2 views
0

그러나이 문제를 연구하려고했지만 솔루션을 찾을 수 없습니다. 배경 : DB에 sqlite를 사용하는 작은 자바 프로그램이 있습니다. 코드가 검색되는 횟수 또는 행이 표시되는 횟수를 추적하기 위해 행 카운터를 업데이트하려고합니다. 행이 표시되지 않으면 계산되지 않습니다. 내 데이터베이스 테이블 여기에 내가 웹 사이트 버전이 SQL 코드를 사용하고 그것이 작동하는 행을결합 선택 및 업데이트 문

 private void SrchCodeActionPerformed(java.awt.event.ActionEventevt)    {           
    String sql = "SELECT * FROM emdcodes WHERE Codes like ?"; // SQL command 

try {ps = conn.prepareStatement(sql); 

ps.setString(1, EMDCODELOOKUP.getText() + "%");   
rs = ps.executeQuery(); 
ResultsTable.setModel(DbUtils.resultSetToTableModel(rs)); 
} catch (Exception e) { 
     JOptionPane.showMessageDialog(null, e); 
    } }         

를 얻기 위해 사용되는 코드는 세 개의 열 {코드, 설명, ITEMCOUNT}

하세. 그것은 PHP로 작성된 것입니다.

$sqlcount = mysql_query("update emdcodes SET ItemCount = ItemCount +1 Where  Codes  like '$term%'"); 

내 질문은 어디에서 어떻게하고, 어떻게하면 자바 프로그램에 카운터 코드를 추가 할 것인가입니다. 카운터의 목적은 검색된 상위 5 개 항목의 목록을 유지하는 것입니다.

도움을 주신 모든 분들께 감사드립니다.

+0

나는 두 번의 (선택 및 업데이트) 호출에 대해 이야기하는 동안 db로 한 번만 호출하기 때문에 이렇게하는 것이 더 좋습니다. 하나를 세어 값을 반환하는 절차 –

+0

나는 당신의 제안에 감사드립니다. 제가 제게 찾아 볼 수있는 곳으로 모범을 보냅니다. 감사합니다. – user2326872

답변

0

난 당신이 찾고있는 무슨이 정확하게 확실하지 않다 ...

private void SrchCodeActionPerformed(java.awt.event.ActionEventevt)    { 
     if (counter <= 5) {        
     String sql = "SELECT * FROM emdcodes WHERE Codes like ?"; // SQL command 

     try {ps = conn.prepareStatement(sql); 

     ps.setString(1, EMDCODELOOKUP.getText() + "%");   
     rs = ps.executeQuery(); 
     if (rs.first()){ 
      counter++; 
     } 
     ResultsTable.setModel(DbUtils.resultSetToTableModel(rs)); 
     } catch (Exception e) { 
      JOptionPane.showMessageDialog(null, e); 
     }  
    } 
}  

first() -> 이 ResultSet 객체의 첫 번째 행에 커서를 이동합니다. 반환 값 : 커서가 유효한 행에 있으면 true이고, 그렇지 않으면 false입니다. 결과 집합에 행이 없으면 false

+0

제안 해 주셔서 감사합니다. 해당 코드가있는 테이블의 열 항목을 업데이트하려고합니다 : 내 테이블에 코드 - 설명 - ItemCount의 세 열이 있습니다. 사용자가 코드 1을 검색하면 jave 프로그램은 일치하는 설명을 표시하고 SHOULD는 ItemCount를 하나씩 증가시켜야합니다. 예를 들어 코드 1을 세 번 검색하고 코드 6을 두 번 사용하면 코드 1이있는 행 옆에있는 ItemCount가 3이되고 코드의 ItemCount는 2가됩니다. – user2326872

+0

SQL QUERY를 SELECT 및 UPDATE 구문을 하나씩 포함합니다. QUERY – user2326872

+0

여기에 더 많은 코드가 있습니다. Im Tring 비공개 무효 SrchCodeActionPerformed () String sql = "SELECT * FROM emdcodes where like codes?"; try {ps = conn.prepareStatement (sql); ps.setString (1, EMDCODELOOKUP.getText() + "%"); rs = ps.executeQuery(); ResultsTable.setModel (DbUtils.resultSetToTableModel (rs)); ps.executeUpdate ("emdcodes 업데이트 설정 ItemCount = ItemCount + 1 어디에서 코드가 좋아?"); } catch (Exception e) {JOptionPane.showMessageDialog (null, e); }} – user2326872