我试图在我的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服务器上手动添加它们,它们仍然有效,但上面的代码不起作用。
有什么想法吗?建议?
答案 0 :(得分:0)
尝试打印预准备语句中使用的sql字符串,然后复制粘贴并手动运行。通常情况下,字符串中会有一些拼写错误或缺少空格。在你的情况下,它可能是语句写法的错误。
我注意到你在VALUES之前需要一个空格。