我已經創建了使用Java和MySQL的一所學校的項目這個小測驗。現在我的項目運行良好,但作爲一個實驗,我試圖在我的問題中添加圖像。問題jFrame直接從一個名爲ques的數據庫中提取問題和所有選項,其中有8列最後是「path」,它是一個varchar(500)。這是我的Java代碼中添加問題: -爲varchar加入反斜線在MySQL
try {
Class.forName("java.sql.Driver");
Connection con = (Connection) DriverManager.getConnection(jdbcurl, user, pass);
Statement st = con.createStatement();
ResultSet rt = st.executeQuery("SELECT qno from ques order by qno desc limit 1");
// get last qno primary key
for (; rt.next();) {
qno = (Integer) rt.getObject(1); // save qno as int
}
nqno = qno + 1; // create new qno
if (path == null){
String query1 = "insert into ques values (" + nqno + ",'" + question + "','" + ans1 + "','" + ans2 + "','"
+ ans3 + "','" + ans4 + "','" + ca + "',null);"; // ca is correct answer and null is path
Statement st1 = con.createStatement();
st1.executeUpdate(query1);
System.out.println("query : "+query1);
JOptionPane.showMessageDialog(this, "Question added successfully! Without Image");}
else {
String query1 = "insert into ques values (" + nqno + ",'" + question + "','" + ans1 + "','" + ans2 + "','"
+ ans3 + "','" + ans4 + "','" + ca + "','"+path+"');";
System.out.println("query :" +query1);
Statement st1 = con.createStatement();
st1.executeUpdate(query1);
JOptionPane.showMessageDialog(this, "Question added successfully! with image");
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Error in code");
查詢發送是 查詢:插入疑問句值(12, '123', '123', '123', '123', '123' , '123', 'F:\ javaQuiz \ SRC \ javaquiz \ About.png'); 一切正常,沒有例外處理。 但在SQL中保存的路徑如下所示: - F:JavaQuizsrcjavaquizAbout.png
數據庫省略了反斜槓。我希望不要這樣做。這樣,以後我可以叫我Question.java
請..任何建議此鏈接?
(對不起,我是新來的節目很抱歉,如果這是一個愚蠢的問題)
就想通,添加兩個反斜槓,像這樣: - 'F:\\ \\ JavaQuiz SRC \\ \\ javaquiz About.png');修復了這個問題。 但我如何將其添加到我的字符串? – 2012-02-04 09:41:41
path = path.replaceAll(「\\」,「\\\\」);將用\\ – 2012-02-04 09:45:34
替換全部\ IDE返回錯誤:無效的正則表達式:意外的內部錯誤。 代碼也捕獲異常。 – 2012-02-04 09:49:36