六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用PB開發多媒體數據庫管理系統

[摘要]圖像、聲音、數字視頻是多媒體的基本要素,目前多媒體數據庫正得到是益廣泛的應用。例如:桂林市開通的交互式有線電視實時點歌系統,即人們可以用電話機的按鍵點歌,并且同時在電視上看到自己正在操縱的菜單,選中歌曲后電視立即自動播放MTV,不需旁人幫助,這是網絡多媒體數據庫的具體應用。 用PowerBuild...

  圖像、聲音、數字視頻是多媒體的基本要素,目前多媒體數據庫正得到是益廣泛的應用。例如:桂林市開通的交互式有線電視實時點歌系統,即人們可以用電話機的按鍵點歌,并且同時在電視上看到自己正在操縱的菜單,選中歌曲后電視立即自動播放MTV,不需旁人幫助,這是網絡多媒體數據庫的具體應用。 用PowerBuilder開發應用程序時,您完全可以把多媒體數據集成到應用程序中,使您的應用程序具備多媒體錄制,查詢播放等眾多功能。顯然,多媒體將進一步提高應用程序的層次,并且給用戶一種身臨其境的感覺。

  怎樣用PowerBuilder創建并展示多媒體數據庫呢?它可分為兩部分:

  1. 怎樣將圖象、聲音、動畫存入數據庫

  2. 查詢系統的制作.

  下面以PowerBuilder6.5和SQL Anywhere為例。讓我們快速制作一個簡單的查詢系統。制作婚姻介紹系統,查詢到符合條件的人后,顯示該人的人事檔案卡上有個人的照片,要求雙擊個人照片,能調用Acdsee展示該照片(顧客能任意放大、縮小欣賞照片);或者雙擊該個人檔案某處放映一段該個人檔案的個人生活錄相,個人喜歡的音樂等.

  一.怎樣將圖象、聲音、動畫存入數據庫

  首先要有一個包含Blob數據類型的表,,然后利用Bb數據窗口的"OLE database Blob"(OLE數據庫二進制大對象),可以輕易地把圖片等多媒體數據存入數據庫或展示在屏幕上。

  步驟如下:

  1.建立一個表aaa,內含兩個字段,記錄號和相片,一個字段取名為ID,另一個字段名為Pic,類型分別為char和Long binary,ID為主鍵。具體操作步驟為:進入Database畫筆來建立此表,ID字段取type 為char,不許為空,即Null為No,Pic字段type為Long binary,可為空,即Null為Yes(重要)。將英文標題頭改成中文,即將id字段的Header內的"id"改為"記錄號",Label的內容改為"記錄號:",同理將pic字段的改為"相片"和"相片:"按Close圖標,保存的文件名填aaa,按Table Properties圖標,按Primary key,并點選ID為主鍵,按Close圖標關閉Database畫筆。

  注意:在這一步驟里不要輸入數據,而要在后面的數據窗口里,按預覽圖標輸入數據。

  Pic字段的數據類型即所謂Blob類型,其數據類型在不同的DBMS中有一定的差別:在SQL Anywhere 中是Long binary;在SQL Server中是Image。

  2.建立一個新的應用程序。具體操作步驟為:按Application圖標,再按New圖標,文件名填test,按保存,Application填test,按OK,出現一"Would you like……"的對話框,問是否要應用程序模板,按"是",為簡化制作步驟,要模板。

  3.建立數據窗口并準備輸入數據。步驟為:按DataWindow圖標,在"Select datawindow"對話框中選New,在New Datawindow對話框中選SQL Slect和Freeform,即SQL 選擇的數據源,自由格式的風格。按OK,在Select talbe對話框中選中aaa表,按Open。點選ID列,使ID出現在Select list的右邊,在窗口下方按Where按鈕,按Colume,并在Cloume的下拉條中選中"aaa"."id",在Valua的一欄中填入 :temp,注意,這里的temp前面有一冒號 按窗口上方的Desion菜單,選Retriveal Arguments,在Name一欄填temp,注意,這里的temp前面沒有冒號,type一欄選String(注意),按OK。

  規定:SQL語句可以嵌入到PowerScript語言當中,只不過每一個SQL語句必須以分號結尾,而且在SQL語句中如果要引用PowerScript變量,則必須對這些變量賦予一個前綴--冒號:而PowerScript語句的變量不要加冒號,注意區分。

  4.用數據窗口的預覽方式輸入數據。具體操作步驟為:按Desion菜單,選Data Source使Data Source前面不打鉤,從Objects菜單中選擇OLE Database Blob項,然后在設計窗口中適當位置點鼠標左鍵,此時出現Database Blob object對話框。逐漸填寫對話窗:

  ClientClass:填入DataWindow,可選。

  ClientName:填入當前DataWindow的名字,可選。

  Table:選擇aaa表。

  Large Binary/Text Columns:選擇pic字段。

  KeyClause:選id=:id,用于構造where子句,即where id=:id,用于定位相位記錄。

  File template:瀏覽選擇并填入一個bmp文件,可不填。

  OLE Class:通過下拉菜單選擇Pbrush畫筆程序。

  Client Name Expression:填入某一字符串表達式,當OLEServer運行時,顯示在其標題處,如填寫入id+".bmp",按OK鍵。

  單擊Positions標簽,選中"Resizable",單擊General標簽,在Border列表框中選擇"Resize"如此選擇這兩個屬性后,程序運行時,用戶能夠通過拖拽改變圖片的大小,單擊OK關閉對話框。

  此時,PB關閉該對話窗,并回到DataWindow的設計窗口,OLE字段以一小方框的形式顯示出來。

  單擊Preview預覽圖標,在跳出的對話框中給temp的值填1,點Insert Row 圖標,在表中添加一行,填入id后,雙擊方框,打開畫圖程序,這時可以通過繪制,復制等手段制作圖片,制作好后,單擊文件菜單中的"退出并返回到…"關閉畫圖程序,再次單擊預鑒圖標,系統提示"save……",將數據窗口取名為aaa,選擇"是"將結果保存到表中。

  同理:若想將動畫存入數據庫則另加一字段,將音樂存入數據庫則另加一字段。

    二. 查詢系統的制作

  1. 制作從鍵盤輸入記錄號,可查詢到該人的檔案記錄。

 �、僦谱鞑樵兇翱凇2襟E為:鼠標點按Window圖標,新建一窗口,在窗口中,添加一個DataWindow控件,在DataWindow控件上按鼠標右鍵,選擇并單擊Properties快捷菜單項,在在Datawindow object name旁按Browse按鈕,選擇裝入前面制作的aaa數據窗口,調整好窗口的大小,再在窗口上放一SingleLineEdit控件,和一CommandButton按鈕控件,點中按鈕控件并按右鍵選擇Properties ,將其顯示文本修改為"查詢",按鈕名稱仍為cb_1,點中按鈕控件并按右鍵選擇Script…,輸入以下腳本

  dw_1.settransobject(sqlca)

  dw_1.retrieve(sle_1.text)

  關閉并保存,按Save圖標保存該窗口,窗口取名為aaa,

 �、趯⒉樵兇翱谶B接入test應用程序內。點按Application圖標,出現test應用程序,雙擊test,出現名為w_genapp_frame的窗口圖標,這是應用程序為我們提供的主窗口的名字,點按w_genapp_frame不放按右鍵選edit,出現該主窗口,將一按鈕控件放入該窗口,按鈕顯示的文本可改為"唯一查詢",也可省略不改,點中該按鈕控件并按右鍵選擇Script…,輸入:open(aaa),保存。點按Application圖標,再按script圖標,出現應用程序的自動生成的主體腳本,部分內容如下,它的任務是將數據庫初始化,相當于win.ini。假若不要應用程序的模板,則下面的腳本需自己輸入。而使用模板后,現在我們只需將//connect;前面的注釋號"http://"符號刪除即可。除省事外還避免了因為排版引起的下面的程序格式錯誤。(本人經常因為書中個別字母印刷錯,或排版引起的程序格式錯誤造成程序無法運行而痛心不已。)

  sqlca.DBMS = ProfileString (ls_startupfile, "database", "dbms", "")
  sqlca.database = ProfileString (ls_startupfile, "database", "database", "")
  sqlca.userid = ProfileString (ls_startupfile, "database", "userid", "")
  sqlca.dbpass = ProfileString (ls_startupfile, "database", "dbpass", "")
  sqlca.logid = ProfileString (ls_startupfile, "database", "logid", "")
  sqlca.logpass = ProfileString (ls_startupfile, "database", "LogPassWord", "")
  sqlca.servername = ProfileString (ls_startupfile, "database", "servername", "")
  sqlca.dbparm = ProfileString (ls_startupfile, "database", "dbparm", "")
  connect;

  現在按Run圖標運行該程序,結果如下圖。為簡化程序,我們只加入了多媒體中的圖片字段,成功后,讀者可自已增加動畫,聲音字段。

  討論:假若多媒體的字段和數據個數比較少,也可用變量和函數來解決。如:

  temp2=temp+".bmp"
  p_1.picturename=temp2
  ole_1.insertfile("sample.avi")
  run("c:acdsee.exe c:aa.bmp",normal!)

  這些都是很有用的函數,但數據多而雜時,它們就會顯得力不從心了,因為使用它們時,多媒體數據并沒有內置于數據庫之中,也就是說數據庫內并沒有它們的字段,想想看,假若數據庫的所有字段都用變量來代替的話,我想任何人看了都會頭大!




主站蜘蛛池模板: 日日摸夜夜添夜夜添97 | 欧美亚洲综合在线观看 | 最新高清无码专区 | 日本美女高清在线观看免费 | 色狠狠成人综合网 | 日日做夜夜爱 | 天天综合天天添夜夜添狠狠添 | 青草资源视频在线高清观看 | 色综合久久久久久中文网 | 五月一区二区久久综合天堂 | 日韩大片免费观看视频播放 | 日韩久久网 | 亚洲免费福利 | 人人看人人爱 | 日本免费在线观看视频 | 日韩毛片高清在线看 | 中文字幕第315页 | 色综合久久精品中文字幕 | 亚洲一区二区三区四区在线 | 婷婷综合久久狠狠色99h | 香港三级理论在线影院 | 四虎影视在线影院4hutv | 色就干| 日日摸夜夜添夜夜添97 | 日本色资源 | 一二三四免费影院 | 亚洲欧美日韩在线线精品 | 性刺激性色爽爱小说 | 亚洲综合资源 | 天天操天天舔 | 日本午夜www高清视频 | 日本视频在线免费播放 | 中文字幕天堂最新版在线网 | 亚洲国产成人久久综合一区77 | 亚洲专区欧美专区 | 欧美一级爱爱 | 欧美性生活视频免费播放网址大全观看 | 伊人免费 | 日日干夜夜欢 | 中文字幕亚洲一区婷婷 | 亚洲欧洲在线观看 |