sql >> Database >  >> RDS >> Mysql

Formuliergegevens invoegen in twee verschillende tabellen in de database via jsp-pagina

Oplossing 1

Maak twee verschillende Statement-instanties voor uw twee invoegbewerkingen.

Oplossing 2

Als u één enkele instantie van Statement opnieuw wilt gebruiken, sluit u de bronnen in een Eindelijk blok. Het is eigenlijk altijd een goed idee om de afsluitende verklaring in eindelijk . te plaatsen blokkeer of gebruik gewoon try-catch-resource die jdk7+ te bieden heeft.

Niet gerelateerd aan uw concrete vragen

  • Het wordt ten zeerste aanbevolen om het gebruik van Java-code in het JSP-bestand te vermijden. Zoek de termen "jsp servlet mvc".
  • Gebruik PreparedStatement in plaats van Statement om SQL-injectie-aanvallen te voorkomen.

BEWERKEN voor oplossing 1:

In je eerste try-blok:
Onder Statement myStatement = myConnection.createStatement();
voeg Statement myStatementTwo = myConnection.createStatement(); toe

In je tweede try-blok:
verander myStatement.executeUpdate(sqlString);
naar myStatementTwo.executeUpdate(sqlString);

Voeg een laatste blok toe voor je eerste probeerblok en sluit daar al je bronnen. Het bewerken van uw code is vrijwel hetzelfde als alles vanaf het begin opnieuw schrijven, u zult er het meeste profijt van hebben als u dat zelf kunt doen.

BEWERKEN nadat OP HTML-code en database heeft verstrekt

Je Dest_has_Categories tabel's Dest_idDest is een auto_increment kolom, maar het is ook een externe sleutel die verwijst naar Dest 's primaire sleutel idDest . Referentietabel (gezamenlijke tabel) 's refererende sleutels mag niet auto_increment zijn. Er zullen problemen optreden als de automatisch verhoogde waarde die door DBMS wordt gegenereerd, niet voorkomt in de referentietabel.

Maak de externe sleutels niet auto_increment en wanneer u invoegt in de referentietabel Dest_has_Categories , voeg a.u.b. bestaande Categorieën toe 's id en Dest 's-id.

Als je je code wijzigt, zorg er dan voor dat je ook mijn Oplossing 2 gebruikt voor de beste werkwijzen.




  1. Gebruik \copy van psql voor een query met meerdere regels

  2. XAMPP MySQL-service crasht na opnieuw opstarten

  3. Een volledige SQLite-database exporteren naar een SQL-bestand

  4. Hoe gaat MySQL om met gelijktijdige invoegingen?