Mysql
 sql >> Database >  >> RDS >> Mysql

Inserimento di dati BLOB in Java utilizzando PreparedStatement

Ovviamente saranno diversi. La query seguente esegue le seguenti operazioni:

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

Prendi b1, che è un array di byte, e chiama il suo toString() metodo. Ciò si traduce in una stringa come [[email protected] , che significa "un oggetto di tipo matrice di byte con hashCode 8976876", ma non rappresenta affatto il contenuto della matrice di byte. Quindi inserisci questa stringa nella tabella.

Un array di byte non è una stringa. Fine della storia. devi utilizzare un'istruzione preparata per inserire dati binari in una tabella. In effetti, dovresti sempre utilizzare un'istruzione preparata per eseguire qualsiasi query che abbia un parametro non costante.