Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Einfügen von Blob-Daten in Java mit PreparedStatement

Natürlich werden sie anders sein. Die folgende Abfrage macht Folgendes:

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

Nehmen Sie b1, ein Byte-Array, und rufen Sie dessen toString() auf Methode. Dies führt zu einem String wie [[email protected] , was "ein Objekt vom Typ Byte-Array mit HashCode 8976876" bedeutet, aber überhaupt nicht den Inhalt des Byte-Arrays darstellt. Dann fügen Sie diesen String in die Tabelle ein.

Ein Byte-Array ist kein String. Ende der Geschichte. Sie müssen Verwenden Sie eine vorbereitete Anweisung, um Binärdaten in eine Tabelle einzufügen. Tatsächlich sollten Sie immer eine vorbereitete Anweisung verwenden, um eine Abfrage auszuführen, die einen nicht konstanten Parameter hat.