sql >> Databasteknik >  >> RDS >> Mysql

Infogar blobdata i Java med PreparedStatement

Naturligtvis kommer de att vara olika. Följande fråga gör följande:

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

Ta b1, som är en byte-array, och anrop dess toString() metod. Detta resulterar i en sträng som [[email protected] , vilket betyder "ett objekt av typen byte array med hashCode 8976876", men representerar inte innehållet i byte arrayen alls. Infoga sedan denna sträng i tabellen.

En byte-array är inte en sträng. Slutet av berättelsen. Du måste använd en förberedd sats för att infoga binära data i en tabell. Faktum är att du alltid bör använda en förberedd sats för att köra alla frågor som har en icke-konstant parameter.



  1. Ska jag använda makron eller VBA-kod?

  2. Varför och när ska jag använda SPARSE COLUMN? (SQL SERVER 2008)

  3. MySQL enum vs. set

  4. MySQL Conditional Insert