【问题标题】:Java ArrayList <> insert into Oracle DBJava ArrayList <> 插入 Oracle DB
【发布时间】:2013-12-21 10:45:11
【问题描述】:

我需要在 Oracle XE 中插入一个 ArrayList。这就是我汗流浃背的地方:

    ArrayList <Double> array = new ArrayList<Double>();
    array.add(10.2);
    array.add(11.2);
    array.add(12.2);
    array.add(1.2);
    array.add(10.2);
    array.add(10.2);
    array.add(10.2);


    Connection dbConnection = null;
    Statement statement = null;
    ResultSet rows = null;
    Iterator<Double> it=array.iterator();

    String insertTableSQL = "INSERT INTO RVALUES VALUES(";


    for(int i=0;i<array.size();){

        it.next();
        i++;
    }
    insertTableSQL +=")";

    String selectTableSQL = "Select * from RVALUES";

    try {
        dbConnection = getDBConnection();
        statement = dbConnection.createStatement();

        System.out.println(insertTableSQL);

        rows = statement.executeQuery(selectTableSQL);

        while(rows.next()){
            System.out.print(rows.getInt(1)+"\t");
            System.out.println(rows.getInt(2));
        }

        statement.executeUpdate(insertTableSQL);

        System.out.println("Record is inserted into DBUSER table!");

它显示“ORA-00936:缺少表达式”。我正在重新做这么久......我迷路了。对此的任何帮助将不胜感激。

【问题讨论】:

  • "INSERT INTO RVALUES VALUE VALUES" ---> 语法无效。删除 VALUE。
  • 你应该学习SQL basics
  • 谢谢,但这并不能解决问题。

标签: java arraylist oracle-xe


【解决方案1】:

不要这样做。

创建PreparedStatement 并进行批量更新。

这将更快、更安全。

【讨论】:

    【解决方案2】:

    @Christian Kuetbach,非常感谢您提供的链接。很有帮助。

    问题已解决。

    附:我确实知道 SLQ 是什么以及如何。这只是一个简单的示例,可用于更复杂的项目!无论如何,祝大家有美好的一天:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2019-02-06
      相关资源
      最近更新 更多