數據庫工程師:在PB中用OLE存取blob類型數據(三)

數據庫工程師:在PB中用OLE存取blob類型數據(三),第1張

數據庫工程師:在PB中用OLE存取blob類型數據(三),第2張

6、源程序建立
  1)首先在數據庫中建立如下結搆的表blobsave:

   字段名稱  數據類型  備注

   id  char(4)  primairy key index

   s_path  char(50)

   pic   binary (50)

  2)在PB建立PBl庫blobsave.PBl

  3)在PBl庫blobsave.PBl中建立應用blobsave

  在應用的open事件中設置數據庫連接程序(本程序中採用的是odbc方式連接數據庫,讀者可根據自己所建立的數據庫的不同選用不同的連接方式,以下連接數據庫的代碼也有所改動,至於連接不同的數據庫的方法,請蓡考有關資料,本文不做詳細介紹):

  SQLCA.DBMS ="ODBC"
  SQLCA.AutoCommit = False
  SQLCA.DBParm ="Connectstring="DSN=blob""
  connect;
  open(w_main)

  其中命令按鈕cb_path的clicked中的代碼格式如下:open(w_path)

  其中命令按鈕cb_dbblob的clicked中的代碼格式如下:open(w_dbblob)

  其中命令按鈕cb_OLEblob的clicked中的代碼格式如下:open(w_OLEblob)

  4) 建立數據窗口dw_blobsave

  按照上文中建立數?荽翺詰腷lob列的方法建立數據窗口dw_blobsave如圖所示:

  其中:add,del,save,cancel,,retrieve等分別爲數據窗口dw_blobsave的append row,delete row,update,retrieve動作按鈕。

首先創建實例變量 OLEstorage stor1

  然後如圖建立窗口w_path,其中數據窗口控件dw_1的rowfocuschanged中的代碼如下:

  long row_num
  row_num=dw_1.getrow()
  if row_num >0 then
  ole_1.insertfile(dw_1.object.s_path[row_num])
  end if

  其中數據窗口dw_1的buttonclicked中的代碼如下:

  if dwo.name="cbselect" then
  long row_num
  row_num=dw_1.getrow()
  string filepath,filename
  getfileopenname("請選擇備注文件",filepath,filename)
  dw_1.object.s_path[row_num]=filepath
  ole_1.insertfile(filepath)
  end if

  保存窗口w_path

  6)建立窗口w_dbblob

  打開w_path,把其另存爲w_dbblob,改變數據窗口dw_1的rowfocuschanged中的代碼如下:

  blob text1
  long row_num
  row_num=dw_1.getrow()
  if row_num>0 then
  string id
  id = dw_1.object.id[row_num]
  sqlca.autocommit=true
  selectblob pic into :text1 from blobsave where id = :id;
  ole_1.objectdata=text1
  sqlca.autocommit=false
  end if

位律師廻複

生活常識_百科知識_各類知識大全»數據庫工程師:在PB中用OLE存取blob類型數據(三)

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情