sql >> Databáze >  >> RDS >> Mysql

Vkládání dat blob v Javě pomocí PreparedStatement

Samozřejmě budou jiné. Následující dotaz dělá následující věc:

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

Vezměte b1, což je bajtové pole, a zavolejte jeho toString() metoda. Výsledkem je řetězec jako [[email protected] , což znamená "objekt typu bajtové pole s hashCode 8976876", ale vůbec nepředstavuje obsah bajtového pole. Poté vložte tento řetězec do tabulky.

Pole bajtů není řetězec. Konec příběhu. Musíte použijte připravený příkaz k vložení binárních dat do tabulky. Ve skutečnosti byste měli vždy použít připravený příkaz k provedení jakéhokoli dotazu, který má nekonstantní parametr.



  1. Kódujte své první API pomocí Node.js a Express:Připojte databázi

  2. Vysmívat se MySQL databázi v Pythonu

  3. Jak funguje funkce CHARACTER_LENGTH() v MySQL

  4. ORA-00933:Příkaz SQL nebyl správně ukončen