sql >> Databasteknik >  >> RDS >> Oracle

PreparedStatement körs framgångsrikt i Oracle men ger undantag i Microsoft SQL

Svaret finns i meddelandet - ExecuteQuery kräver en resultatuppsättning. Använd executeUpdate istället.

Från länken ovan:

  • boolesk execute() Kör SQL-satsen i det här PreparedStatement-objektet, som kan vara vilken typ av SQL-sats som helst.

  • ResultSet executeQuery() Kör SQL-frågan i detta PreparedStatement-objekt och returnerar ResultSet-objektet som genererats av frågan.

  • int executeUpdate() Kör SQL-satsen i detta PreparedStatement-objekt, som måste vara en SQL-sats INSERT, UPDATE eller DELETE; eller en SQL-sats som inte returnerar något, till exempel en DDL-sats.

det faktum att det fungerar på Oracle är förmodligen bara en bieffekt som du har upptäckt att det inte går att lita på.



  1. Hur man förlänger Joomla! till min anpassade PHP-fil

  2. Vid infogning:kolumnreferenspoängen är tvetydig

  3. Ska du välja datatyperna PENGAR eller DECIMAL(x,y) i SQL Server?

  4. Hur lagrar jag en BIGINT i MySQL med PDO?