Решение 1
Създайте две различни инстанции за вашите две операции за вмъкване.
Решение 2
Ако искате да използвате повторно един екземпляр на Statement, затворете ресурсите в Най-накрая блок. Всъщност винаги е добра идея да поставите изявлението close в накрая блокирайте или просто използвайте try-catch-resource което jdk7+ може да предложи.
Не е свързано с вашите конкретни въпроси
- Силно препоръчително е да избягвате използването на java код в jsp файл. Търсете термините "jsp servlet mvc".
- Използвайте PreparedStatement вместо Statement, за да избегнете атака с инжектиране на sql.
РЕДАКТИРАНЕ за решение 1:
Във вашия блок за първи опит:
Под Statement myStatement = myConnection.createStatement();
добавете Statement myStatementTwo = myConnection.createStatement();
Във втория си блок за опит:
променете myStatement.executeUpdate(sqlString);
към myStatementTwo.executeUpdate(sqlString);
Добавете последен блок за вашия блок за първи опит и затворете целия си ресурс там. Редактирането на кода ви е почти същото като пренаписването на всичко от нулата, ще ви е от най-голяма полза, ако можете да го направите сами.
РЕДАКТИРАНЕ, след като OP предостави HTML код и база данни
Вашите Cest_has_Categories Dest_idDest на таблицата е auto_increment колона, но също така е външен ключ, препращащ Цел Първичният ключ на idDest . Външните ключове на справочна таблица (съвместна таблица) не трябва бъде auto_increment. Ще има проблеми, ако автоматично увеличената стойност, генерирана от СУБД, не съществува в референтната таблица.
Моля, направете външните ключове да не се автоматично_инкрементират и когато вмъквате в референтната таблица Dest_has_Categories , моля, поставете съществуващи Категории идентификатор на и Цел идентификатор на
Освен това, когато променяте кода си, не забравяйте да използвате и моето Решение 2 за най-добра практика.