读书人

mysql 数据库 插入图片有关问题

发布时间: 2011-12-29 22:09:38 作者: rapoo

mysql 数据库 插入图片问题
public void aadCard(FileInputStream Image,String UserName,String Title,String Content,boolean PassOrNot,String CName)
{
PreparedStatement pre1;
String sql = "insert into cardinf(image,UserName,Title,Content,PassOrNot,CName) values(?,?,?,?,?,?)";
try
{

pre1 = con.prepareStatement(sql);
pre1.setBinaryStream(1, Image,Image.available());
pre1.setString(2, UserName);
pre1.setString(3,Title);
pre1.setString(4,Content);
pre1.setBoolean(5, PassOrNot);
pre1.setString(6,CName);
}
pre1.execute();

}
catch(IOException e1){}
catch(SQLException e){}
}

可以正确执行 但是我的数据库里面却没有记录 请高手指教


[解决办法]
你在mysql中定义的图片字段的类型是什么?
应该是blob(binary large object,二进制长数据类型)

并且,把你捕获的异常显示,而不要都为空(catch(IOException e1{} )

[解决办法]
数据库里最好存地址,然后程序显示图片时再去调用.
[解决办法]

pre1.execute();
把这一行修改为:
pre1.executeUpdate();

因为:execute 方法返回一个 boolean 值,以指示第一个结果的形式。
而executeUpdate():(1) 对于 INSERT、UPDATE 或 DELETE 语句,返回行数 (2) 或者对于什么都不返回的 SQL 语句,返回 0


再者re1.setBinaryStream(1, Image,Image.available());

你试试,应该没有其他问题了

读书人网 >Java Web开发

热点推荐