Jdbc Postgresql 没有执行查询
Posted
技术标签:
【中文标题】Jdbc Postgresql 没有执行查询【英文标题】:Jdbc Postgresql is not executing the query 【发布时间】: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();
【问题讨论】:
【参考方案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 执行它时不起作用。以上是关于Jdbc Postgresql 没有执行查询的主要内容,如果未能解决你的问题,请参考以下文章