Java sql更新数据库中的行

时间:2014-02-04 05:17:33

标签: java sql database

我已经在数据库中添加了一个成员。 我试图找出如何更新表中的行使用相同的系统传递值只是不添加新行,只是使用传入的用户名更改行。

以下是插入新成员的方法:

 public static void insertMember(String username,String firstName)
{

    try 
     {  
        Class.forName("com.mysql.jdbc.Driver");
        Connection connection = DriverManager.getConnection(url, username, password);

        PreparedStatement st = connection.prepareStatement("INSERT INTO Members VALUES (?,?)");
        st.setString(1, username);
        st.setString(2, firstName);
        st.executeUpdate();    
     } 

     catch (SQLException e) 
     {
        System.out.println("SQL Exception: "+ e.toString());
     } 

     catch (ClassNotFoundException cE) 
     {
        System.out.println("Class Not Found Exception: "+ cE.toString());
     }


}

3 个答案:

答案 0 :(得分:3)

您需要使用UPDATE命令而不是INSERT命令。

看看SQL UPDATE statement

您需要提供一些方法来识别需要更新的行,但这取决于表的结构

答案 1 :(得分:2)

我已经在数据库中添加了一个成员。我试图找出如何更新表中的行使用相同的系统传递值只是不添加新行,只是使用传入的用户名更改行。

您需要Update命令

UPDATE Members set username='somename',firstname='firstname' where condition

答案 2 :(得分:0)

需要更改SQL命令而不是INSERT,使用UPDATE。 下面的代码将更新where子句中提供的匹配firstname的用户名。

          PreparedStatement st = connection.prepareStatement("UPDATE Members set username=? where firstName=?)");
         st.setString(1, username);
         st.setString(2, firstName);
         int updateStatus=st.executeUpdate();