Blue
Red
Green
Orange
Voilet
Slate
Dark

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

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

yougulingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
 请问 给位 JSP 的高手  
  我做的是一 个网上的书店 请问 如何做一个 jsp 页面 可以实现 把 
 一本书的 JPEG 的封面插入到 数据库的指定的 字段中 
 具体的功能应该是这样的
 点 浏览 按钮,可以浏览到 要插入的 书的封面图片 在电脑中的具体位置
然后 ,点确定就可以 把图片插入到数据库中了 
或者是,直接在数据库中直接插入  书的封面 ,该怎么做?
我用的 是 IBM  的数据库 DB2 ,或者告诉我 在Sqlserver2000 中是 如何实现的也可以.   但是最好是 在DB2 中的 
 对了,在数据库中 JPEG 的图片在存储时应该是 什么类型的 
varchar 类型的可以吗??
 
 

大唐电信

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库中保存图片的字段用二进制类型。
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服务器上,你还要先将图片上传到服务器上,然后在保存到数据库。
 
Y

yougulingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
楼上的大哥啊  怎么还要用到输入流了啊 
FileInputStream fis = new FileInputStream(file); 是什么意思?
ps.setBinaryStream(2,fis,l2); 是要把数据转换成二进制的吧,但是在IBM的
DB2数据库中没有 BINARY个二进制类型啊 ,那BLOD 是什么类型的呢?
是不是可以在数据库中用 BLOD这个类型呢?
 
Y

yougulingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
在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语
又如何理解呢???????
 
Y

yangxiao_jiang

Unregistered / Unconfirmed
GUEST, unregistred user!
1,图片存 数据库肯定是用的二进制流 ,类型应该是blob这个
2,sql的意思,是进行分页操作。over是和rownumber() 连在一起用的,是生成的伪列。
binary说的是二进制。
最好多看看书。
 
Y

yougulingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
"over是和rownumber() 连在一起用的"
这个我知道是用来分页显示的
楼上的大哥说是 用来生成伪列?  那具体的是怎么生成的??  能不能讲的详细
一点啊,还有怎么把结果用到分页显示中呢??? 我不太明白. 楼上的大哥说让我多看看书, 那关于IBM db2
的分页显示的 要看什么书呢? 什么书有关于这样的 语句的详细的介绍啊??
 
Y

yangxiao_jiang

Unregistered / Unconfirmed
GUEST, unregistred user!
分页显示 按照你现在给出的代码,是从数据库检索出来直接显示的
比如第一页,就是1到100
第二页,就是101到200
这个是你的sql检索出来的一个结果集。
as row_next 已经告诉你了,生成的是这个别名。生成一个连续的字段,然后用betwen来处理。
db2的语句,你到IBM的网站上,有哪些手册的。
 
Y

yougulingyu

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢你们大家的帮助,改天请你们吃饭啊,呵呵
 
顶部 底部