阿木伯 著 |
|
FORM中如何存取圖象?如何把圖象從一個表中導(dǎo)到另一個表中? |
|
- 軟件環(huán)境:
1、服務(wù)器端:Windows NT4.0+ORACLE 8.0.4,ORACLE安裝路徑為:C:\ORANT
2、客戶端:Windows 98、Developer/2000客戶端安裝(版本2.1)
- 實(shí)現(xiàn)方法:
1、SQL*Plus中
SQL> create table t_photo1(photo1 long raw);
SQL> create table t_photo2(photo2 long raw);
2、硬盤上c:\下有一個圖象文件tmp.bmp
3、打開FORM
新建兩個塊:t_photo1、t_photo2
t_photo1塊是數(shù)據(jù)庫塊,連接的表是數(shù)據(jù)庫中的一個表t_photo1
t_photo2塊也是數(shù)據(jù)庫塊,連接的表是數(shù)據(jù)庫中的另一個表t_photo2(備份表)
t_photo1塊上新建一個圖象項(xiàng),名為photo1,對應(yīng)的是即表t_photo1中的photo1列
t_photo2塊上也新建一個圖象項(xiàng),名為photo2,對應(yīng)的是即表t_photo2中的photo2列
新建一按鈕1,輸入以下程序,這個按鈕實(shí)現(xiàn)讀入圖象到表里,即錄入圖象到表里
BEGIN
GO_BLOCK('t_photo1');--到塊1
READ_IMAGE_FILE('c:\tmp.bmp','bmp','t_photo1.photo1');
--讀入外部圖象文件tmp.bmp(圖象類型為BMP)到t_photo1塊的photo1項(xiàng),也就是到了t_photo1表里
COMMIT;--存盤
END;
新建一按鈕2,輸入以下程序,這個按鈕實(shí)現(xiàn)圖象的倒表(t_photo1到t_photo2)
BEGIN
GO_BLOCK('t_photo1');--到塊1
execute_query;
--查詢出表中的圖象,這時,表中的圖象到了FORM中的圖象項(xiàng)上
WRITE_IMAGE_FILE('c:\tmp.bmp','bmp','t_photo1.photo1');
--把圖象項(xiàng)中圖象寫入外部圖象文件tmp.bmp
GO_BLOCK('t_photo2');--到塊2
READ_IMAGE_FILE('c:\tmp.bmp','bmp','t_photo2.photo2');
--把外部圖象文件tmp.bmp讀入到t_photo2塊的photo2項(xiàng),也就是到了t_photo2表里
COMMIT;--存盤
END;
運(yùn)行此程序,點(diǎn)擊此按鈕觀察效果。
注釋:t_photo1.photo1是正式圖片表中的圖象項(xiàng)(數(shù)據(jù)庫項(xiàng))(t_photo1塊photo項(xiàng)1)
t_photo2.photo2是備份圖片表中的圖象項(xiàng)(數(shù)據(jù)庫項(xiàng))(t_photo2塊photo項(xiàng)2)
|
【最后更新:】 |
|