2012-01-26 24 views
-2

我有一個表格裏面包含像用戶名,聯繫方式,日期,名稱等變量。 我想對用戶名和聯繫人進行更新,僅限於數據庫中的原始記錄。如何創建和執行SQL更新語句

我怎樣才能使用更新sql語句來做到這一點?

下面是我的SELECT sql語句。

public void dbData(String UName) 
{ 
    try 
    { 

     Class.forName("com.mysql.jdbc.Driver"); 
     con = DriverManager.getConnection("jdbc:mysql://localhost/assignment","root","mysql"); 
     ps = con.createStatement(); 
     SQL_Str="Select username,numberOfBid from customer where username like ('" + UName +"')"; 
     //SQL_Str="Select * from customer"; 
     rs=ps.executeQuery(SQL_Str); 
     rs.next(); 
     dbusername=rs.getString("username").toString(); 
     dbbid=rs.getInt("numberOfBid"); 
     //UName2 = rs.getString("username").toString(); 
     UName2 = username; 

    } 
    catch(Exception ex) 
    { 
     ex.printStackTrace(); 
     System.out.println("Exception Occur :" + ex); 
    } 

} 
+0

這會給你什麼錯誤?你的桌子結構是什麼?更多的信息將有所幫助.. – jere

+0

我希望它是更新而不是選擇 –

+0

@benylim你碰巧是一個學生?這是您應該已經知道的非常基本的信息。 –

回答

0

這裏是一個快速和骯髒的解決方案:當你修改你的價值觀,只需添加這樣的事情

String updSQL = "udate table set numberOfBid = " + dbbid + " where user = " + UName; 
ps.executeUpdate(updSQL); 

有但是,您可以使用準備好的語句和佔位符進行1000次改進:

String updSQL = "udate table set numberOfBid = ? where username like ?"; 
PreparedStatement pstmt = con.prepareStatement(updSQL); 
pstmt.setInt(0, dbbid); 
pstmt.setString(1, UName); 
pstmt.execute(); 

我可以建議你看看HibernateSpring JDBCJPA ......它們比JDBC要高得多。