在jsp页面中如何把 jpeg 图片插入到数据库中?(100分)

  • 主题发起人 主题发起人 yougulingyu
  • 开始时间 开始时间
Y

yougulingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
 请问 给位 JSP 的高手  
  我做的是一 个网上的书店 请问 如何做一个 jsp 页面 可以实现 把 
 一本书的 JPEG 的封面插入到 数据库的指定的 字段中 
 具体的功能应该是这样的
 点 浏览 按钮,可以浏览到 要插入的 书的封面图片 在电脑中的具体位置
然后 ,点确定就可以 把图片插入到数据库中了 
或者是,直接在数据库中直接插入  书的封面 ,该怎么做?
我用的 是 IBM  的数据库 DB2 ,或者告诉我 在Sqlserver2000 中是 如何实现的也可以.   但是最好是 在DB2 中的 
 对了,在数据库中 JPEG 的图片在存储时应该是 什么类型的 
varchar 类型的可以吗??
 
 
数据库中保存图片的字段用二进制类型。
String textname = "C://text.jpg";
File file= new File(textname);
....你的数据库连接代码
String sqlin="insert into MY_JPEG(JPEG_NAME,JPEG) values (?,?)";

long l1=file.length();

int l2=(int)l1;


FileInputStream fis = new FileInputStream(file);
PreparedStatement ps = conn.prepareStatement(sqlin);
ps.setString(1,"test");

ps.setBinaryStream(2,fis,l2);

ps.executeUpdate();
fis.close();
ps.close();
conn.close();
如果你的图片不是在web服务器上,你还要先将图片上传到服务器上,然后在保存到数据库。
 
楼上的大哥啊  怎么还要用到输入流了啊 
FileInputStream fis = new FileInputStream(file); 是什么意思?
ps.setBinaryStream(2,fis,l2); 是要把数据转换成二进制的吧,但是在IBM的
DB2数据库中没有 BINARY个二进制类型啊 ,那BLOD 是什么类型的呢?
是不是可以在数据库中用 BLOD这个类型呢?
 
在DB2中 没有 binary这个类型啊 只有graphic和vargraphic 这两 个类型的,我感觉这两个是不是就是
图片的类型啊.
还有下面的  SQL 语句该如何理解啊?????
"
select * from ( select productid,category,name,descn, rownumber() over( order by productid)
as row_next from product where "+conditions+") as product_ temp where

row_next between ? and ? "
请问在上面的 复合查询语句中  over 做何理解, 具体的 整个SQL语
又如何理解呢???????
 
1,图片存 数据库肯定是用的二进制流 ,类型应该是blob这个
2,sql的意思,是进行分页操作。over是和rownumber() 连在一起用的,是生成的伪列。
binary说的是二进制。
最好多看看书。
 
"over是和rownumber() 连在一起用的"
这个我知道是用来分页显示的
楼上的大哥说是 用来生成伪列?  那具体的是怎么生成的??  能不能讲的详细
一点啊,还有怎么把结果用到分页显示中呢??? 我不太明白. 楼上的大哥说让我多看看书, 那关于IBM db2
的分页显示的 要看什么书呢? 什么书有关于这样的 语句的详细的介绍啊??
 
分页显示 按照你现在给出的代码,是从数据库检索出来直接显示的
比如第一页,就是1到100
第二页,就是101到200
这个是你的sql检索出来的一个结果集。
as row_next 已经告诉你了,生成的是这个别名。生成一个连续的字段,然后用betwen来处理。
db2的语句,你到IBM的网站上,有哪些手册的。
 
谢谢你们大家的帮助,改天请你们吃饭啊,呵呵
 
后退
顶部