-2
我一直坚持这个问题几天,并没有解决这个问题,所以需要寻求更高的权力来帮助。用于将数据发送到Apache Tomcat servlet中,我有这样的:存储为blob但存储前后长度不同的数据
temp = items.get(4);
Blob b = connection.createBlob();
byte [] byteArray = null;
byteArray = temp.get();
b.setBytes(1, byteArray);
sql = "insert into userdata (data)+"values ('"+b+"')";
s = connection.createStatement();
s.execute(sql);
out.println("Data successfully uploaded!");
以及用于背部从servlet的接收数据,我有这样的:
Blob b = connection.createBlob();
//String data = null;
byte [] buffer;
temp = items.get(1);
String comments = temp.getString();
System.out.println(comments);
sql = "select sounddata from userdata where comments = '"+comments+"'";
s = connection.createStatement();
s.executeQuery(sql);
rs = s.getResultSet();
while (rs.next())
{
b = rs.getBlob("data");
}
buffer = b.getBytes(1, (int)b.length());
System.out.println("AFTER:"+b.length());
System.out.println("FILE:"+b);
然而,我的斑点长度是前,后我插入不同进入mysql数据库。我有一个34912的blob长度,但是当我检索它时,它只有27!这里可能是什么问题?
我将错误追溯到blob中的差异。在将blob插入数据库时,blob值为“[email protected]”,但是当我检索它时,则变为“[email protected]”。为什么?
谢谢你亲切的先生!这是问题,原谅我,如果我没有自己打我因为我注意到一个类似的帖子关于同样的问题。 http://stackoverflow.com/questions/9430008/inserting-blob-data-in-java-using-preparedstatement – Sheep 2012-07-16 09:36:21