Java 在数据库中保存图像
基本上,我必须在我的数据库上保存一个放在JLabel上的图像(我在那里有一个blobvar)Java 在数据库中保存图像,java,sql,image,Java,Sql,Image,基本上,我必须在我的数据库上保存一个放在JLabel上的图像(我在那里有一个blobvar) JLabel LImg=new JLabel(); ImageIcon img=新的ImageIcon(“**文件路径**”); LImg.setIcon(img); stmt.executeUpdate(“插入到客户机(ID,图像)值中(1,“+LImg.getIcon()+”)) 在运行了一些测试之后,我发现getIcon方法返回文件路径,这就解释了这个错误 GDS例外。335544569动态SQL
JLabel LImg=new JLabel();
ImageIcon img=新的ImageIcon(“**文件路径**”);
LImg.setIcon(img);
stmt.executeUpdate(“插入到客户机(ID,图像)值中(1,“+LImg.getIcon()+”))代码>
在运行了一些测试之后,我发现getIcon方法返回文件路径,这就解释了这个错误
GDS例外。335544569动态SQL错误
SQL错误代码=-104
令牌未知-第1行第132列
:
请注意您的回答(我是JAVA新手)您不能将图像本身粘贴到SQL语句中。您需要使用参数化的prepared语句,并将插入的值设置为字节数组:
BufferedImage bi = (BufferedImage)LImg.getImage();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bi, type, baos);
byte[] dataToWrite = baos.toByteArray();
PreparedStatement stmt = con.prepareStatement("INSERT INTO CLIENT(ID, IMAGE) VALUES (1,?)");
stmt.setBlob(1, dataToWrite);
stmt.executeUpdate();