【问题标题】:How to insert into sql table from an array of variables in JAVA如何从JAVA中的变量数组插入sql表
【发布时间】:2015-02-22 12:19:10
【问题描述】:

使用 JAVA ECLIPSE 实际上我有一个包含 13 个属性的 SQL 表。我想插入一个存储在整数数组变量中的数据,数组名称是数字

那么我存储到sql表的方式正确吗?

  try {
                String query="insert into present values (numbers[0],numbers[1],numbers[2],numbers[3],numbers[4],numbers[5],numbers[6],numbers[7],numbers[8],numbers[9],numbers[10],numbers[11],numbers[12],numbers[13])";
                PreparedStatement pst=connection.prepareStatement(query);
                pst.execute();
                JOptionPane.showMessageDialog(null,"Data Saved");
                pst.close();

            } catch (Exception e) {
                e.printStackTrace();
            }

【问题讨论】:

  • 试试这个:String query="insert into present values ("+numbers[0]+","+numbers[1]+","+numbers[2]+","+numbers[3]+","+numbers[4]+","+numbers[5]+","+numbers[6]+","+numbers[7]+","+numbers[8]+","+numbers[9]+","+numbers[10]+","+numbers[11]+","+numbers[12]+","+numbers[13]+")";

标签: java mysql eclipse


【解决方案1】:

假设您的数组只有 14 个元素 - 意味着 numbers.length 是 14。

String query = "INSERT INTO present VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement pst = connection.prepareStatement(query);

for(int i=0; i<numbers.length; i++)
    pst.setInt(i+1, numbers[i]);

pst.executeUpdate();

【讨论】:

    【解决方案2】:

    您的 Insert 语句可能应该包含列的名称(sql 标准),但重新分级参数:查询字符串应该为每个动态参数保留一个问号,然后调用 pst.setInt (或任何“设置”符合您的价值观)。在您的情况下,您可以在循环中调用设置器,执行以下操作:

    String query="insert into present (column names...) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
    PreparedStatement pst=connection.prepareStatement(query);
    
    for(int i=0;i<13;i++)
    {
        pst.setInt(i+1, numbers[i]);
    }
    
    pst.execute();
    JOptionPane.showMessageDialog(null,"Data Saved");
    pst.close();
    } catch (Exception e) {
      e.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-03
      • 2011-10-21
      相关资源
      最近更新 更多