2015-06-20 32 views
0

我將數據插入到MySQL數據庫是空的,但得到一個錯誤,在執行插入語句時:中的ResultSet不能Statement.executeQuery的

中的ResultSet不能爲空的Statement.executeQuery的。

儘管如果我檢查數據庫表,我發現這些值已成功插入。這很混亂。

代碼段

Connection connection = null; 
connection = DriverManager.getConnection("jdbc:google:rdbms://name-of-instance"); 
Statement check = connection.createStatement(); 
java.sql.ResultSet resultset = null; 
resultset = check.executeQuery("insert into table_name values (values-inserted-here);"); 

回答

1

,您不能使用executeQuery(String sql) (check here the docs),但executeUpdate(String sql)而是要執行的查詢更新,在你的數據庫中刪除或插入任何數據。

所以不是:

check.executeQuery("insert into table_name values (values-inserted-here);"); 

你應該這樣做:

check.executeUpdate("insert into table_name values (values-inserted-here);"); 

ResultSet總是空的插入,刪除或更新,這就是爲什麼有人給出這樣的錯誤。如果您使用executeUpdate,則該錯誤應該消失。

希望它有幫助!

0

不需要使用ResultSet。 ResultSet僅用於從查詢(如選擇查詢)中提取數據時使用。 只需使用

Statement check = connection.createStatement(); 
check.executeUpdate("insert into table_name values (values-inserted-here)"); 

和教程使用link