2016-03-09 50 views
0

我試圖用這個方法不能與SQL查詢中的整數值獲取參數

// ... 
Integer age = 42; 

String sql = "insert into user_info value('" + username + "','" + passcode + "','" + gender + "',age,'" + email + "')"; 

try { 
    PreparedStatement preparedStatement = con.prepareStatement(sql); 
} catch (SQLException e) { 
    e.printStackTrace(); 
} 
try { 
    i = stmt.executeUpdate(sql); 
} catch (SQLException e) { 
    e.printStackTrace(); 
} 

終於讓我在SQL查詢中的整數(年齡信息),我得到的成功插入結果所有的信息,用戶名,密碼,性別和電子郵件,但對於年齡信息,它只是在我的mysql數據庫表中顯示NULL,並且我已經盡力解決這個問題,但仍然困惑,請幫助我,thx :)

+1

** [SQL注入](https://en.wikipedia.org/wiki/SQL_injection)alert !!!! ** *永遠不要*使用簡單字符串連接將用戶提供的文本插入到SQL中聲明。使用'PreparedStatement'和語句標記。 – Andreas

+1

我認爲你粘貼了錯誤的代碼,因爲'isLogin()'方法絕對不會更新數據庫,並且與'age'沒有任何關係。 – Andreas

+0

我看到您的選擇查詢,但請將您的插入查詢添加到您的問題 –

回答

0

你在你的SQL查詢得到一個錯誤

String sql = "insert into user_info value('" + username + "','" + passcode + "','" + gender + "',age,'" + email + "')"; 

這將不插入時代價值,所以年齡將被設置爲自己的默認值(NULL)

與此查詢嘗試

String sql = "insert into user_info value('" + username + "','" + passcode + "','" + gender + "','" + age + "','" + email + "')"; 
+0

@Eric Hoo - 你的查詢改變了,你還有問題嗎? –