ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle开发 » Oracle Developer Suite » 请教forms6i中图象处理的问题!!!

标题: 请教forms6i中图象处理的问题!!!
离线 lk_limin
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6457)
社区积分 0 (79265)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2003-4-24 14:51 
请教forms6i中图象处理的问题!!!

表1hoto 两个字段: photo_path varchar2(200);    id number; 如下:

  photo_path                  id  
f:\oracle\temp\lm.jpg     2
f:\oracle\temp\wxh.jpg   4

f:\oracle\temp\chy.jpg   13

表2: user  如下字段:user_name varchar2(50);    user_id number;

               
              user_id  user_name

                2     limin  
                4    wuxiaohong  
                13     chenyong  



我的问题是:想做一个简单的人员信息查询系统,在查询员工时在员工的旁边可以显示出每个员工的照片,
是不是要用到read_file_name(),但是在具体使用的时候,如何在查询时每次read_file_name()取到的照片名不同,我现在已将这些简单的form做好,只是每次查询时所有人员的照片都显示一个人的,就是说如何在查询不同用户时显示不同的照片? armok老师给过我一个论坛的范例,但我还是没解决上述问题,能帮我写一下这个取照片的trigger吗?感激不尽!!!!!!!!!!! 因为我是个新手..............................................请老师们指点!!!!


只看该作者    顶部
离线 gengmao
谦卑之心


精华贴数 1
个人空间 0
技术积分 1011 (1844)
社区积分 27 (6668)
注册日期 2001-10-9
论坛徽章:6
ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员生肖徽章2007版:鼠生肖徽章2007版:鸡
      

发表于 2003-4-25 00:06 
lk_limin,
read_image_file是从客户端的文件系统中装载图片文件到form图片项(至少对c/s方式,这样说没错),这样子你需要将所有员工相片保存在每一个客户端上才行.以后如果增加/更改员工相片,你要去更新每一个客户端----这样可行吗?

我建议将图片保存在数据库中,例如
create table photo
(user_id number primary_key,
photo_data blob,
foreign key user_id references user(user_id));
form中使用向导根据photo表建一个数据块,就能查询显示员工图片了.或者不用向导,在数据块中手工设置一个image item,设定为数据库项,数据源列为photo_data,还有图片格式.
为增加/修改员工相片,你可以增加一个load按钮.使用get_file_name和read_image_file从客户端装载文件到image item.
forms6i demo中有一个很好的例子,也许你可以看一看.


只看该作者    顶部
离线 lk_limin
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6457)
社区积分 0 (79265)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2003-4-25 07:44 
那图片是不是要先进行转格式才能进行存储?


只看该作者    顶部
离线 gengmao
谦卑之心


精华贴数 1
个人空间 0
技术积分 1011 (1844)
社区积分 27 (6668)
注册日期 2001-10-9
论坛徽章:6
ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员生肖徽章2007版:鼠生肖徽章2007版:鸡
      

发表于 2003-4-25 09:00 
blob类型的数据库列就是用来保存二进制数据的,保存时并不需要转换格式。
form中指定image item的格式,是为了可以用正确的方法显示出保存的二进制数据。


只看该作者    顶部
离线 lk_limin
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6457)
社区积分 0 (79265)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2003-4-25 09:15 
谢谢!我试一下


只看该作者    顶部
离线 lk_limin
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6457)
社区积分 0 (79265)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2003-4-26 11:23 
呵呵,版主能不能帮写一下上面的trigger,我水平太低了,这上问题一直困扰着我,哎........................................................


只看该作者    顶部
离线 lk_limin
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6457)
社区积分 0 (79265)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2003-4-30 09:08 
我利用存放图片的方法测试成功了.
也不是很麻烦,你把存放在照片传入服务器端,照片的名字用id来取,这样如:
declare
a    varcahr2(10);
begin
a:=('c:\photo\'||:user.user_id||'.jpg');
read_image_file(a,'jpg','user.photo');
end;


只看该作者    顶部
离线 gengmao
谦卑之心


精华贴数 1
个人空间 0
技术积分 1011 (1844)
社区积分 27 (6668)
注册日期 2001-10-9
论坛徽章:6
ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员生肖徽章2007版:鼠生肖徽章2007版:鸡
      

发表于 2003-4-30 22:52 


QUOTE:
最初由 lk_limin 发布
我利用存放图片的方法测试成功了.
也不是很麻烦,你把存放在照片传入服务器端,照片的名字用id来取,这样如:
declare
a    varcahr2(10);
begin
a:=('c:\photo\'||:user.user_id||'.jpg');
read_image_file(a,'jpg','user.photo');
end;


怎么看上述代码都是打开客户端的一个图片文件。你的图片文件保存在每一个客户端?!

或者你的应用是web方式,forms server是windows系统,而且图片文件保存在forms server上?

很想听你说说具体的实现方案。


只看该作者    顶部
离线 lk_limin
一般会员



精华贴数 0
个人空间 0
技术积分 310 (6457)
社区积分 0 (79265)
注册日期 2003-3-1
论坛徽章:0
      
      

发表于 2003-5-6 07:57 
不是所有的图片都放在每一个客户端,不然的话维护起来会"死人"的,呵呵。
你说的没错,我使用的WEB方式,你只要把图片放在服务器端,上面我的例子中只是把存放图片的名字改成员工的ID号,上面的例子是写在块级的post_query中,这样当就可以了呀!!如果你想维护图片只要上传到服务器的相关目录下就行了。

不知这样说对不对,我是个新手,希望得到大家的帮助!!!


只看该作者    顶部
离线 gengmao
谦卑之心


精华贴数 1
个人空间 0
技术积分 1011 (1844)
社区积分 27 (6668)
注册日期 2001-10-9
论坛徽章:6
ITPUB元老管理团队2006纪念徽章会员2006贡献徽章授权会员生肖徽章2007版:鼠生肖徽章2007版:鸡
      

发表于 2003-5-7 01:52 
lk_limin,
  Storing pictures on your applicaton server is reasonable. Have you implemented file uploading on web form client?


只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问