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());
你试试,应该没有其他问题了