epuigdef tiene 99% razón...no guardes objetos q pudieran ser grandes en las tablas si puedes dejarlos afuera, solo haz una referencia a su nombre y ubicación...preferiblemente estandarizada....por ejemplo: Q00001.jpg
De todos modos si necesitas meterla alli o meterla allí y sino pues meterla allí mira este fragmento de lo q actualmente desarrollo:
Código:
if( Error==null)
{ Vector Data;
byte [] Clave,Head,Mssg;
/*Cifrado*/
Data=Cifrado.Cifraos((Encabezado.length() < 256 ? Encabezado : Encabezado.substring(0,256)));
Clave=(byte[])Data.remove(0); //Obtenemos el valor con el q se cifró: 16 bytes.
Head= (byte[])Data.remove(0); //Obtenemos el encabezado cifrado: 256 bytes.
Mssg= Cifrado.Cifraos(Clave,(Contenido.length() < 1024 ? Contenido : Contenido.substring(0,1024)));
/*Ensamblado*/
ByteArrayOutputStream _BAOS= new ByteArrayOutputStream();
DataOutputStream _DOS=new DataOutputStream(_BAOS);
_DOS.write(Clave);
_DOS.writeInt(Head.length);
_DOS.writeInt(Mssg.length);
_DOS.write(Head);
_DOS.write(Mssg);
Calendar Cal= Calendar.getInstance();
String fecha =(Cal.get(Cal.MONTH)+1)+"/"+Cal.get(Cal.DATE)+"/"+Cal.get(Cal.YEAR)+" "+Cal.get(Cal.HOUR_OF_DAY)+":"+Cal.get(Cal.MINUTE)+":"+Cal.get(Cal.SECOND);
/*Sentencia*/
PreparedStatement PS=CC.PS("Insert Into Buzon values("+ID+","+IdA+","+IdB+",'"+fecha+"','0',?)");
PS.setBytes(1,_BAOS.toByteArray());
CC.Actualizar(PS);
Mira bien ese
? ahí se pondrá el contenido en bruto (bytes) de lo q qieres ya q si este contiene ' o " podría cerrar la sentencia, en mi caso lo hago para meter un mensaje cifrado al buzón de mensajes con AES128 proveniente del cliente, lo empaqeto y después de preparar la sentencia lo inserto con
setBytes donde 1 es el primer
? q se encuentre en la cadena, en tu caso solo lleva la imagen a un vector de bytes y lo insetas así