2016-09-01 4 views
0

DB에 값 삽입 (아무 것도하지 않음)으로 갈 때 문제가 발생했습니다. 그 전에 내가 마지막 ID를 얻기 위해 테이블을 선택했는데 성공했습니다. 삽입 아무것도하지 않고,데이터베이스 삽입 mysql 문제가

IDBManager dbManager = getParentExtension().getParentZone().getDBManager(); 
    Connection connection = null; 

    int idRoom = params.getInt("idRoom"); 
    String betsmall = params.getUtfString("betsmall"); 
    int Uid = params.getInt("recid"); 

    try{ 
     connection = dbManager.getConnection(); 
     PreparedStatement stmt = connection.prepareStatement("SELECT id_game from detail_game ORDER BY id_game DESC LIMIT 1"); 

     ResultSet res = stmt.executeQuery(); 
     if (!res.first()) 
     { 
      trace("bla bla"); 
     } 

     int id = res.getInt("id_game"); 
     trace (id); 
    // **till here there is no problem, i can get id from select query 

     PreparedStatement stmts = connection.prepareStatement("INSERT INTO detil_bet (id_user, id_room, id_bet, bettype) VALUES (?, ?, ?, ? "); 
     stmts.setInt(1, Uid); 
     stmts.setInt(2, idRoom); 
     stmts.setInt(3, id); 
     stmts.setString(4, betsmall); 
     stmts.executeUpdate(); 

    } 
} 

가 여기에 문제의 : 다음은 내 코드입니다.

+2

값 부분에')'이 없습니다. –

+1

')'가 누락 된 경우 예외가 발생해야합니까?! – Jens

+0

감사합니다.) a). –

답변

1
PreparedStatement stmts = connection.prepareStatement("INSERT INTO detil_bet (id_user, id_room, id_bet, bettype) VALUES (?, ?, ?, ? "); 

"VALUES"에 끝 괄호가 필요합니다.

스택 추적을 인쇄하는 catch 블록이 여기에도 문제를 알려줍니다. 나는 최선의 SQL 녀석이 아니며 항상 this을 사용하여 모든 것을 올바르게했는지 다시 확인하기 위해 SQL 문을 검사합니다.

0

연결이 자동으로 실행되지 않는 것으로 보입니다. "stmts.executeUpdate();"다음에

stmts.commit(); 

뒤에 추가하십시오.

관련 문제