2017-10-04 119 views
-1

當前我試圖使用http-session查詢數據庫會話包含我在bean中需要的所有信息,我試圖從數據庫中通過用戶的電子郵件地址,我沒有成功,這是我的語法關閉?JSP使用javabean查詢mysql數據庫

try 
{ 
    Class.forName("com.mysql.jdbc.Driver"); 
    String url="jdbc:mysql://localhost:3306/carrentalsystem"; 
    String username="root"; 
    String password="javatest"; 
    String query="select * from userdetails where Email_Adress = 
    'user.getEmail_Adress'"; 
    Connection conn=DriverManager.getConnection(url, username, password); 
    Statement stmt=conn.createStatement(); 
    ResultSet rs=stmt.executeQuery(query); 
    while(rs.next()) 
    { 
%> 
<hr> 
<h2>Update your profile</h2> 
<div class="form"> 
    <form action="/updateprofile"> 
     <input type="text" name="Email_Address" placeholder= 
<%=rs.getString("Email_Address")%>> 
     <input type="text" name="First_Name" placeholder= 
<%=rs.getString("First_Name")%>> 
     <input type="text" name="Last_Name" placeholder= 
<%=rs.getString("Last_Name") %>> 
     <input class="button" type="submit"> 
    </form> 
</div> 
<% 

我試圖查詢數據庫使用當前用戶信息作爲佔位符,以便他們將顯示更新。更新將由一個servlet處理。先謝謝你。

+0

什麼是'user.getEmail_Adress''? – Ravi

+0

user.getEmail_Address指的是在登錄時存儲用戶信息的會話bean。 –

回答

1

假設你從你的bean獲得email id。然後,您應該使用Prepared Statement並構建您的查詢如下。

另外,我想getEmail_Adress是方法,那麼你應該撥打getEmail_Adress()來代替。

String query = "select * from userdetails where Email_Adress = ? "; 
PreparedStatement preparedStatement = dbConnection.prepareStatement(query); 
preparedStatement.setString(1, user.getEmail_Adress()); 
ResultSet rs = preparedStatement.executeQuery(query); 
0

看起來像我的豆是錯的,我拼寫了幾件事情。這是我完成的代碼。 try { Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/carrentalsystem"; String username="root"; String password="javatest"; String query="select * from userdetails where Email_Address ='"+ user.getEmail_address()+"'"; Connection conn=DriverManager.getConnection(url, username, password); Statement stmt=conn.createStatement(); ResultSet rs=stmt.executeQuery(query); while(rs.next()) { %>

+0

您應該至少感謝我,並且您還沒有使用Prepared Statement。 – Ravi

+0

我非常感謝你,但我不必準備一份聲明,我只是試圖查詢並從數據庫中獲取信息。然而,任何和所有的建議總是歡迎。 –

+0

不,即使你選擇的數據較少,你必須**使用'PreparedStatement' – Ravi