java - org.postgresql.Driver 在 NetBeans 中不工作

标签 java postgresql jdbc

<分区>

我正在尝试将我的 sql 数据库连接到我的 java 项目,但出于某种原因,postgresql.Driver (org.postgresql.Driver) 似乎无法正常工作。

我已确保导入所有 sql 方法等 (java.sql.*)

我尝试运行的方法如下所示:

public boolean createUserInDB(String username, String password, boolean b, java.util.Date createdTime, java.util.Date lastLoginTime) {
    try {
        Class.forName("org.postgresql.Driver");
        Connection conn = DriverManager.getConnection(url, username, password);
        Statement st = conn.createStatement();

        String sql = "INSERT INTO login(brugernavn, kodeord, status, created_time, last_login_time) "
                + "VALUES(" + username + ", " + password + ", " + true + ", "
                + createdTime + ", " + lastLoginTime + ");";

        st.executeUpdate(sql);

        System.out.println("Query successfull");


    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

    return true;

}

不要介意查询的第一行(属性是丹麦语)。

当运行这个方法时,它唯一做的就是打印出“org.postgresql.Driver”然后返回 true 从而告诉用户(在 GUI 中)查询已经完成。

我已经下载了 postgresql 版本 42.2.2 的最新驱动程序,但仍然没有成功。

我错过了什么?

最佳答案

您尝试将 java.util.date 插入 SQL 日期时,您的查询格式似乎有误。尝试使用 PrepareStatement 而不是如下所示的 CreateStatement,它将处理您的 Postgres 数据库的日期。希望它会起作用。

PreparedStatement st = conn.prepareStatement("insert into login (brugernavn, kodeord, status, created_time, last_login_time) values (?,?, ?, ?, ?)");
st.setString(1, username);
st.setString(2, password);
st.setBoolean(3, true);
st.setObject(4, createdTime);
st.setObject(5, lastLoginTime);
st.executeUpdate();
st.close();

关于java - org.postgresql.Driver 在 NetBeans 中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50303676/

相关文章:

java - 当 JUnit 4 使用参数化运行程序超时时添加更多信息

java - JSP:在文件上传时获取 MIME 类型

java - 将多维数组作为文本传递给 Java 中的方法调用

sql - 使用交叉表函数的 PostgreSQL 和数据透视表

android - 通过 Android 应用程序连接到 OracleDB

java - 为什么此代码显示错误无效的 unicode?

postgresql - 如何从 plpgsql 函数返回 RETURNING 子句的结果?

sql - Postgres WHERE 两个数组有一个非空的交集

java - 在保存、更新和删除时发出事件的 DAO

Scala sql 查询从 GCP 到本地的远程访问错误