sql >> Database >  >> RDS >> Mysql

Blob-gegevens invoegen in Java met behulp van PreparedStatement

Natuurlijk zullen ze anders zijn. De volgende query doet het volgende:

"insert into registration(image) values('"+b1+"')"

Neem b1, wat een bytearray is, en noem de toString() methode. Dit resulteert in een tekenreeks zoals [[email protected] , wat "een object van het type byte-array met hashCode 8976876" betekent, maar helemaal niet de inhoud van de byte-array vertegenwoordigt. Voeg vervolgens deze tekenreeks toe aan de tabel.

Een bytearray is geen string. Einde verhaal. Je moet gebruik een voorbereide instructie om binaire gegevens in een tabel in te voegen. In feite zou je altijd een voorbereide instructie moeten gebruiken om een ​​query uit te voeren die een niet-constante parameter heeft.



  1. Vreemd SQLAlchemy-foutbericht:TypeError:'dict'-object ondersteunt geen indexering

  2. Is het nodig om ROLLBACK te schrijven als query's mislukken?

  3. PDO:Databaseverbinding op externe website

  4. pass integer array naar orakel procedure door c#