使用预准备语句更改MySQL DB中的数据

时间:2014-01-01 17:27:46

标签: java mysql prepared-statement

我完全是MySQL的新手,需要一些帮助我在家工作的项目。 我需要创建一个银行系统并在我的Client表上工作, 我创建了bean和接口,并在管理器上工作,我做了添加新的客户端功能

但不知道如何开始休息:

  • updateClientDetails
  • removeClient
  • viewClientDetails

我想知道我是否可以在如何开始这些功能方面取得领先,请:)

P.S 这就是我写addNewClient方法的方法:

public void addNewClient(ClientsBean client) {


    try {                       
        System.out.println(connect);
        PreparedStatement ps = connect.getConnection().prepareStatement(
            "INSERT INTO mbank.clients VALUES"+
                "(?,?,?,?,?,?,?,?)");
                ps.setLong(1, client.getClient_id());
            ps.setString(2,client.getName());
            ps.setString(3, client.getPassword());

            String type = "GOLD";
            if (client.getType() == Type.GOLD) {
                type = Type.GOLD.name();
            } else if (client.getType() == Type.PLATINUM) {
                type = Type.PLATINUM.name();
            } else {
                type = Type.REGULAR.name();
            }
            ps.setString(4, type);
            ps.setString(5, client.getAddress());
            ps.setString(6, client.getEmail());
            ps.setString(7, client.getPhone());
            ps.setString(8, client.getComment());
            ps.execute();   
    } catch (SQLException e) {
        e.printStackTrace();
        JOptionPane.showMessageDialog(null,
                "Problem occurs during updatig cliant details");
    }       
}

更新: 好的,想要创建updateClientDetails函数,我使用了一些例子 我得到语法SQLexception不确定我在哪里做错了,可以使用一些帮助吗? 我想更新ID为66的帐户

public void updateClientDetails() {

    try {

        System.out.println(connect);
        PreparedStatement ps = connect.getConnection().prepareStatement(
        "UPDATE mbank.clients SET client_id = ?, client_name = ?, 
        password  = ?, type = ?, adress = ?, email = ?, phone = ?, comment = ?" +"WHERE client_id =66");
        ps.setLong(1, client.getClient_id());
        ps.setString(2,client.getName());
        ps.setString(3, client.getPassword());
        String type = "GOLD";
        if (client.getType() == Type.GOLD) {
            type = Type.GOLD.name();
        } else if (client.getType() == Type.PLATINUM) {
            type = Type.PLATINUM.name();
        } else {
            type = Type.REGULAR.name();
        }
        ps.setString(4, type);
        ps.setString(5, client.getAddress());
        ps.setString(6, client.getEmail());
        ps.setString(7, client.getPhone());
        ps.setString(8, client.getComment());
        ps.execute();   

    } catch (SQLException e) {
        e.printStackTrace();
        JOptionPane.showMessageDialog(null,
                "Problem occurs during updatig cliant details");
    }       
}    

1 个答案:

答案 0 :(得分:0)

学习MySQL的一个非常好的资源是 w3schools 。你应该阅读

  1. SELECT (viewClientDetails)
  2. 然后你应该阅读(链接在页面的左侧)“SQL UPDATE”(updateClientDetails)
  3. 和“SQL DELETE”(removeClient)
  4. 如果你自己做作业,你学到的最多。