【问题标题】:Changing data in MySQL DB with prepared statement使用准备好的语句更改 MySQL 数据库中的数据
【发布时间】:2014-01-01 17:27:45
【问题描述】:

我对 MySQL 完全陌生,在我为家庭作业而获得的项目中需要一些帮助。 我需要创建一个银行系统并处理我的客户表, 我创建了 bean 和接口并在管理器上工作 atm,我做了添加新客户端功能

但不知道如何从其余部分开始:

  • updateClientDetails
  • 删除客户端
  • 查看客户详情

我想知道是否可以指导如何启动这些功能:)

附言 这就是我写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) 请在句首加一个大写字母。还要为单词 I 使用大写字母,以及 JEE 或 WAR 等缩写词和首字母缩略词。这使人们更容易理解和帮助。 2)请不要忘记添加“?”提问!有些人在页面中搜索“?”如果“问题”中不存在,则直接转到下一个(实际)问题。 3) 为了尽快获得更好的帮助,请发布SSCCE。 4) 标题中无需添加major标签。
  • 你熟悉SQL命令UPDATEDELETESELECT吗?

标签: java mysql prepared-statement


【解决方案1】:

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

  1. SELECT (viewClientDetails)
  2. 那么您应该阅读(链接在页面左侧)“SQL UPDATE”(updateClientDetails)
  3. 和“SQL DELETE”(removeClient)

如果你自己做作业,你学得最多。

【讨论】:

  • 我以前不知道 w3fools,但我认为关于基本 SQL 命令(选择、更新、删除)的文章非常准确且易于理解。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-12
  • 2014-12-22
相关资源
最近更新 更多