2015-06-20 1 views
0

Я вставки данных к БД MySQL, но получаю сообщение об ошибке, при выполнении вставки заявление:результирующего не может быть пустым для Statement.executeQuery

результирующего не может быть пустым для 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 используется только тогда, когда вы извлекаете данные из запроса, например select query. Просто используйте

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

и учебник использовать эту link