Hi,
ich habe eine Tabelle
wie kann ich das Feld Attachment befüllen?
ich lese eine Datei als byteArray ein
wie übergebe ich das jetzt an meine datenbank?
so sicher nicht:
Kann mir jemand einen hinweis geben?
ich habe eine Tabelle
Code:
create table ATTACHEMENT (
ID INTEGER IDENTITY not null,
Name VARCHAR(256) not null,
Description VARCHAR(1024) not null,
CreateDate timestamp not null,
MimeType VARCHAR(128) not null,
content BINARY,
primary key (ID)
);
ich lese eine Datei als byteArray ein
Code:
byte[] fileAsByteArray = getBytesFromFile(new File("test.jpg"));
...
public static byte[] getBytesFromFile(File file) throws IOException {
InputStream is = new FileInputStream(file);
long length = file.length();
byte[] bytes = new byte[(int)length];
int offset = 0;
int numRead = 0;
while (offset < bytes.length
&& (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
offset += numRead;
}
if (offset < bytes.length) {
throw new IOException("Could not completely read file "+file.getName());
}
is.close();
return bytes;
}
wie übergebe ich das jetzt an meine datenbank?
so sicher nicht:
Code:
String sql = "INSERT INTO attachment (content) VALUES('"+fileAsByteArray+"')"
public synchronized int update(String expression) throws SQLException
{
Statement st = null;
st = conn.createStatement();
int i = st.executeUpdate(expression);
if (i == -1)
{
System.out.println("db error : " + expression);
}
st.close();
return i;
}