我的表里面包含一个变量,如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);
}
}
答案 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();
我建议你看看Hibernate,Spring JDBC,JPA ...它们的级别比JDBC高得多。