【问题标题】:Jdbc Postgresql is not executing the queryJdbc Postgresql 没有执行查询
【发布时间】:2012-11-24 15:19:17
【问题描述】:

我正在尝试通过 jdbc 将我的 android 应用程序连接到我的 postgresql 数据库,登录顺利,但是当我尝试运行查询 explotes 并给我这个错误:

11-24 11:03:14.966: E/AndroidRuntime(673):  at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:403)
11-24 11:03:14.966: E/AndroidRuntime(673):  at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:283)

这是建立连接的函数代码:

public void save_info(Element plate_info){
         String retval = "";
         try {
             Class.forName("org.postgresql.Driver");
         } catch (ClassNotFoundException e) {
             e.printStackTrace();
             retval = e.toString();
         }
         String url = "jdbc:postgresql://test.com:5432/test_db?user=adsfsdfasd&password=2222222";
         Connection conn;
         try {
             DriverManager.setLoginTimeout(5);
             conn = DriverManager.getConnection(url);
             Statement st = conn.createStatement();
             ResultSet rs = st.executeQuery("INSERT INTO order_tbl (custumer, _name, additional, ingredients_) VALUES('adsfasdf','asdfasdfasdf', 'asdfasdfasd', 'asdfasdfasdf', 'dasfasdf')");
             while(rs.next()) {
                 retval = rs.getString(1);
             }
             rs.close();
             st.close();
             conn.close();
             System.out.println(retval);
         } catch (SQLException e) {
             e.printStackTrace();
             retval = e.toString();

         }

    }

【问题讨论】:

    标签: java android postgresql jdbc


    【解决方案1】:

    你需要打电话给executeUpdate,而不是executeQuery

    int numRowsAffected = st.executeUpdate("INSERT INTO order_tbl (custumer, _name, additional, ingredients_) VALUES('adsfasdf','asdfasdfasdf', 'asdfasdfasd', 'asdfasdfasdf', 'dasfasdf')");
    

    【讨论】:

      【解决方案2】:

      这就是你所需要的。

      DriverManager.setLoginTimeout(5);
      conn = DriverManager.getConnection(url);
      Statement st = conn.createStatement();
      st.execute("INSERT INTO order_tbl (custumer, _name, additional, ingredients_) VALUES('adsfasdf','asdfasdfasdf', 'asdfasdfasd', 'asdfasdfasdf', 'dasfasdf')");
      

      这里有一个关于如何使用SQL Insert http://www.youtube.com/watch?v=Zto0PovkbKo的快速教程

      【讨论】:

      • 它适用于没有 Android 的 Java,但是当我尝试从 android 执行它时不起作用。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多