hi
i like to store small images in a mssql database. i'm using the code
below for the insert-statement.
PreparedStatement prstmt=connection.prepareStatement("INSERT INTO
GCP_IMAGE VALUES(?,?,?,?,?,?,?,?");
prstmt.setLong(1,11);
prstmt.setShort(2,(short)4);
prstmt.setBinaryStream(3,fis,(int)file.length());
prstmt.setString(4,"11_DRAWING.jpg");
prstmt.setLong(5,file.length());
prstmt.setString(6,"image/pjpeg");
prstmt.setNull(7,Types.INTEGER);
prstmt.setNull(8,Types.INTEGER);
prstmt.execute();
this code returns the foolowing error:java.sql.SQLException:
[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Line 1:
Incorrect syntax near '@P8'.
after looking through many forums and web-sites, i figured out that i
would have to encode my image in order to pass the data correctly to
the database.
has anybody got an idea how i'm supposed to do that?
best regards
Gerd Nachtsheim - 26 Jul 2004 16:12 GMT
Georg Andersson wrote, On 26.07.2004 16:58:
> hi
>
[quoted text clipped - 17 lines]
> [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Line 1:
> Incorrect syntax near '@P8'.
I repeat the answer for your previous posting concerning your syntax error
prstmt.prepareStatement
("INSERT INTO GCP_IMAGE VALUES(?,?,?,?,?,?,?,?)");
you missed the closing parens of the VALUES() part of the INSERT statement.
> after looking through many forums and web-sites, i figured out that i
> would have to encode my image in order to pass the data correctly to
> the database.
>
> has anybody got an idea how i'm supposed to do that?
I am not sure about the encoding, you better first try with the correct
syntax.
HTH
gerd

Signature
Gerd Nachtsheim mailto:gerdn@users.sourceforge.net ICQ:#13126958