用新文件更新attachment字段后,mysql文件路径不包含slashs。有人能告诉我修它的路吗?
这是我的文件附件按钮:
private void attachActionPerformed(java.awt.event.ActionEvent evt){
JFileChooser chooser=new JFileChooser();
chooser.showOpenDialog(null);
File f=chooser.getSelectedFile();
String file=f.getAbsolutePath();
file_attach.setText(file);
}
这是我的更新按钮代码:
private void update_fieldsActionPerformed(java.awt.event.ActionEvent evt){
try{
String add1=course_catergory.getSelectedItem().toString();
String add2=code_course.getText();
String add3=course_type.getSelectedItem().toString();
String add4=course_name.getText();
String add5=file_attach.getText();
String sql="UPDATE course SET category='"+add1+"' ,course_code='"+add2+"' ,course_type='"+add3+
"' ,course_name='"+add4+"' ,attach_file='"+add5+"' where course_code='"+add2+"' ";
pst=conn.prepareStatement(sql);
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Successfully updated.");
}
catch(Exception e){
JOptionPane.showMessageDialog(null, e);
}
update_course_table();
}
是否将PreparedStatement与一起使用与本机查询不同,这是如何正确使用它的示例:
try {
String sql = "UPDATE course SET category = ?, course_code = ? ,course_type = ? ,course_name = ?, "
+ "attach_file=? where course_code = ? ";
pst = conn.prepareStatement(sql);
pst.setString(1, add1);
pst.setString(2, add2);
pst.setString(3, add3);
pst.setString(4, add4);
pst.setString(5, add5);
pst.setString(6, add2);
pst.executeUpdate JOptionPane.showMessageDialog(null, "Successfully updated.");
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}