使用Java插入Oracle DB

时间:2016-12-10 10:24:28

标签: java oracle

我试图在我的oracle服务器上的表中插入值,但是,程序继续运行而不执行。这是我的代码:

这就是我连接数据库的方式:

try {
            connection = DriverManager.getConnection(
                    "jdbc:oracle:thin:@abc.xxx.edu:1521:soeorcl","123",
                    "123");
        } catch (SQLException e) {
            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;

然后我尝试在表中插入值:

 try {
            PreparedStatement prepareStatement = connection.prepareStatement("INSERT INTO MYTABLE (USERID, USERNAME, EMAILADDRESS, PHONENUMBER, PROFILEPICTURE )"
                    + " VALUES (?, ?, ?, ?, ?)");
            prepareStatement.setString(1, "10");
            prepareStatement.setString(2, "ALI");
            prepareStatement.setString(3, "gdgrgrregeg");
            prepareStatement.setString(4, "0501977498");
            prepareStatement.setNull(5, NULL);
            prepareStatement.execute();
 } catch (SQLException e) {
            System.out.println("IT DOES NOT WORK");
        }

程序卡在prepareStatement.execute();我已经检查了约束,如果我在oracle服务器上手动添加它们,它们仍然有效,但上面的代码不起作用。

有什么想法吗?建议?

1 个答案:

答案 0 :(得分:0)

尝试打印预准备语句中使用的sql字符串,然后复制粘贴并手动运行。通常情况下,字符串中会有一些拼写错误或缺少空格。在你的情况下,它可能是语句写法的错误。

我注意到你在VALUES之前需要一个空格。