Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在数据库中保存图像_Java_Sql_Image - Fatal编程技术网

Java 在数据库中保存图像

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上的图像(我在那里有一个blobvar)

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();