2015-12-21 3 views
1

Я пытался выполнить следующий код в java-программе некоторое время с помощью кнопки. Пробовал все, но он все еще бросает исключение. Я уже сделал таблицу и поместил в нее одну запись.MySql Java Connectivity генерирует исключение. (UPDATE)

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { 
    // TODO add your handling code here: 
try{ 
    Class.forName("java.sql.Driver"); 
    String UID="root"; 
    String PWD="123"; 
    String DB_URL="jdbc:mysql://localhost:3306/project"; 
    Connection conn=DriverManager.getConnection(DB_URL,UID,PWD); 

    String CatalogID=jTextField3.getText(); 
    String Title=jTextField4.getText(); 
    String Author=jTextField5.getText(); 
    String Price=jTextField6.getText(); 
    String Category=jTextField7.getText(); 

    Statement stmt=conn.createStatement(); 
    String q="UPDATE table1 SET title='"+Title+"' author='"+Author+"' category='"+Category+"' price="+Price+" WHERE id="+CatalogID+";"; 
    stmt.executeUpdate(q); 
} 

catch(Exception e){ 
JOptionPane.showMessageDialog(null,"Error"); 
} 


} 

ответ

1

вы forgott в , между столбцами:

String q="UPDATE table1 SET title='"+Title+"', author='"+Author+"', category='"+Category+"', price="+Price+" WHERE id="+CatalogID+";"; 

кстати. его лучше использовать PreparedStatement. Вы открываете дверь для инъекций sql-инъекций.

+0

Пробовал, проблема по-прежнему сохраняется –

+0

Просто школьный проект. Мы только что начали изучать sql. –

+0

какое исключение вы получаете точно? –