Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过java插入postgresql_Java_Postgresql - Fatal编程技术网

通过java插入postgresql

通过java插入postgresql,java,postgresql,Java,Postgresql,我遇到了一个奇怪的问题。我有一个表,我想在其中插入来自Javaservlet的数据。 该表由3个字段组成-id-串行(自动公司)、名称-文本、路径-文本。 因此,当我尝试使用此代码插入数据时: PreparedStatement statement = null; ResultSet rs = null; statement = context.getDBConnection().prepareStatement("INSERT INTO systems (name, path) VALUES

我遇到了一个奇怪的问题。我有一个表,我想在其中插入来自Javaservlet的数据。 该表由3个字段组成-id-串行(自动公司)、名称-文本、路径-文本。 因此,当我尝试使用此代码插入数据时:

PreparedStatement statement = null;
ResultSet rs = null;
statement = context.getDBConnection().prepareStatement("INSERT INTO systems (name, path) VALUES ('" + request.getParameter("system_name") + "','" + request.getParameter("system_path") + "')");
rs = statement.executeQuery();
rs.close();
那时什么也没发生。postresql的响应是“查询未返回任何结果”,但当我通过pgAdmin手动插入行时,它们的id会像插入行一样进行计算。例如,我手动插入了行,所以它的id=1。然后,在尝试通过servlet插入数据几次之后,我再次尝试手动插入数据,行id是4,而不是2

更新

修改过的代码,现在没有错误,但什么也没发生

PreparedStatement statement = null;
  //      ResultSet rs = null;
        statement = context.getDBConnection().prepareStatement("INSERT INTO systems (system_name, folder_path) VALUES (?,?)");
        statement.setString(1, request.getParameter("system_name"));
        statement.setString(2, request.getParameter("system_path"));
        int i = statement.executeUpdate();

如果需要阅读JDBC文档,请使用准备好的语句,而不是连接SQL字符串。具体请参见执行更新。还有,与其说是“类似于”。。。显示准确的、未编辑的错误文本。总是这样。你没有正确地使用语句。。。在准备好的语句中使用参数。另外,
path
是一个保留关键字,请在其周围添加反引号。是否对连接调用了commit()?是否可以在更新后对连接对象显式调用commit方法进行尝试。可能是您的连接对象的自动提交设置为false。请使用准备好的语句,而不是连接SQL字符串。您需要阅读JDBC文档。具体请参见执行更新。还有,与其说是“类似于”。。。显示准确的、未编辑的错误文本。总是这样。你没有正确地使用语句。。。在准备好的语句中使用参数。另外,
path
是一个保留关键字,请在其周围添加反引号。是否对连接调用了commit()?是否可以在更新后对连接对象显式调用commit方法进行尝试。可能是您的连接对象已将自动提交设置为false。