如何创建和执行SQL更新语句

时间:2012-01-26 11:31:55

标签: java sql jdbc

我的表里面包含一个变量,如Username,ContactNo,Date,Name。 我想更新Username和ContactNo只对数据库中的原始记录。

如何使用update 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);
    }

}

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分: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高得多。