我遇到了一个奇怪的问题。我有一个表,我想从java servlet插入数据。 该表包含3个字段 - id - serial(auto inc),name - text,path - text。 因此,当我尝试使用此代码插入数据时:
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();