pb提供了關於如何動態建立datawindow的相關函式
transaction.syntaxfromsql ( sqlselect, presentation, err )
dwcontrol.create ( string syntax )
例子1:動態建立有sql的dw
說明:這個比較常用的方法,首先利用sql得到dw的語法,然後用語法來建立dw
這過程跟建立視覺化的dw,然後儲存在pbl,在將這個儲存的名字賦值給dw作為dataobject是同樣的道理
string ls_sql = ""
string ls_syntax = ""
string ls_err = ""
// 初始化, sql以oracle為例
// ls_sql = "select fields from table"
ls_sql = "select 『』 as sid, '' as sname from dual"
// 建立syntax, 用ls_sql建立乙個grid型別的dw
sqlca.syntaxfromsql(ls_sql, "style(type=grid)", ls_err)
if len(ls_err) > 0 then
messagebox('error', 『create dw syntax failed! ~r~n』 + ls_err)
return -1
end if
// 建立dw
ls_err = 『』
dw_1.create(ls_syntax, ls_err)
if len(ls_err) > 0 then
messagebox('error', 『create dw failed! ~r~n』 + ls_err)
return -1
end if
// 建立成功
messagebox('success', 'create dynamic dw with sql successful!')
例子2:動態建立外部資料來源的dw(沒有sql)
說明:外部資料來源的dw沒有sql,但跟有sql的dw相同的部分就是dw語法的table部分。
而建立dw的時候,利用syntax來建立就好了,sql建立syntax就可以省略。
對於例如區域、顯示、html、update等等屬性, pb都有預設的設定。
所以無需用過份詳細的syntax來建立dw,那部分將由pb幫助完成,我們只需要有table部分就可以了。
string ls_syntax = ""
string ls_err = ""
// 由sql建立syntax部分省略
// 初始化syntax, release 9;表示pb9.0的例子
ls_syntax = "release 9;~r~n" +&
"table(" +&
" column=(type=number name=handle dbname=~"handle~" )~r~n" +&
" column=(type=char(255) name=sdata dbname=~"sdata~" )~r~n" +&
" column=(type=char(255) name=slabel dbname=~"slabel~" )~r~n" +&
")"
// 建立dw
ls_err = 『』
dw_1.create(ls_syntax, ls_err)
if len(ls_err) > 0 then
messagebox('error', 『create dw failed! ~r~n』 + ls_err)
return -1
end if
// 建立成功
messagebox('success', 'create dynamic dw without sql successful!')
JBOSS動態建立資料來源
前段時間讓研究如何動態建立資料來源,關於這個我們討論出有兩種方案,一種是將資料來源放到persistence.xml檔案中,然後在persistence.xml中動態新增節點,中根據不同的unitname建立不同的entitymanager。一種是資料來源放到jboss裡,通過jboss的api動態...
動態建立ODBC ACCESS資料來源
unit linkdbaccess inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,registry,extctrls type tlinkdb info...
動態建立資料來源問題
動態建立資料來源問題 delphi windows sdk api 下面 是動態建立odbc資料來源 請問要把下面 加在那個地方才不會出錯,我加在工程檔案裡也出錯,加在單元檔案裡也出錯,function getwinsyspath string var buf array 0.255 of char...