Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insertion de données blob dans Java à l'aide de PreparedStatement

Bien sûr, ils seront différents. La requête suivante fait la chose suivante :

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

Prenez b1, qui est un tableau d'octets, et appelez son toString() méthode. Cela se traduit par une chaîne comme [[email protected] , qui signifie "un objet de type tableau d'octets avec hashCode 8976876", mais ne représente pas du tout le contenu du tableau d'octets. Insérez ensuite cette chaîne dans le tableau.

Un tableau d'octets n'est pas une chaîne. Fin de l'histoire. Vous devez utiliser une instruction préparée pour insérer des données binaires dans une table. En fait, vous devez toujours utiliser une instruction préparée pour exécuter toute requête ayant un paramètre non constant.