2011-11-08 4 views
-1

나는 간단한 다음과 같은 코드가 있습니다새로운 행을 데이터베이스 java에 삽입 하시겠습니까?

try { 
    Main.db.getCon().createStatement().executeUpdate("INSERT INTO qos_qoe (channel_id) VALUES ('vtv1') "); 
    Main.db.getCon().createStatement().executeUpdate("UPDATE qos_qoe SET channel_id = 'vtv1' WHERE id = 3 "); 

} catch (SQLException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 

업데이트 명령이 실행 잘하지만, 명령하지 않는 삽입합니다. phpmyadmin에서 직접 INSERT 명령을 실행해도 아무런 문제가 없습니다. 문제는 어디에 놓여 있습니까? 답장을 보내 주셔서 감사합니다!

+3

"실행되지 않음"정보가 충분하지 않습니다. 예외가 있습니까? 그렇다면 어느 것. –

+0

죄송합니다! 나는 INSERT 라인에 주석을 달지 않으면 코드가 실행될 수 없다는 것을 알고 있으므로 Java에 익숙하다. –

+0

그런 다음 줄을 주석 해제하면 스택 추적을 표시하십시오. –

답변

1

아마도 rated 또는 vote_count은 db에 char 유형이 아닙니다. 어쨌든 PreparedStatement을 사용해야합니다. 모든 변수가 문자열이라고 가정합니다.

String statement = "UPDATE iptv_media_source SET rated = ?, vote_count = ? WHERE channel_id= ? "; 
PreparedStatement st = Main.db.getCon().prepareStatement(statement); 
st.setString(1, rated); 
st.setString(2, vote_count); 
st.setString(3, channelId);  
st.executeUpdate(); 
관련 문제