天天看點

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

金蜘蛛網頁編輯器對資料庫支援的特點:1.支援常見的如MySQL、MSSQL、SQLite等幾乎所有資料庫。2.支援資料庫常見操作增(insert)、删(delete)、查(select)、改(update),不需要寫代碼。3.支援表格展現和表格資料儲存、表格分頁、列排序、行順序調整、表格資料過濾,無需要寫代碼。4.支援如單據的主表明細表編輯、字段值自動生成,無需寫代碼。

可以進行資料庫設定的元件隻有表單和面闆(面闆還包括LayUI的面闆)。資料庫設定主要包括資料庫連接配接源、中文名稱、删除或更新的對應表、關鍵字、讀取資料的表或SQL等等。下圖是資料庫相關Demo中的使用者管理中的資料庫設定:

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

資料庫連接配接源

在設定資料庫連接配接源之前,一定要先建立資料庫連接配接,請參考“​​建立資料庫連接配接​​”。

資料庫連接配接建立好後,把連接配接名稱填入,表示該表單或面闆上的元素可以通路該資料庫。可以通路哪些表,請看下面的“讀取資料的表或SQL”。

讀取資料的表或SQL

前面的資料庫連源設定隻解決了連接配接的資料庫是哪個的問題,這裡“讀取資料的表或SQL”設定從哪個表或怎樣通過SQL語句讀取資料并展現到界面上(注意:讀取資料和儲存資料的表是分開設定的,這是因為讀取資料不一定單一表,也可能是一組SQL語句)。下圖是資料庫相關Demo中的使用者管理中的“讀取資料的表或SQL”設定:

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

可以直接填表名,表示直接從該表讀取資料。但一般都根據網址傳入的參數或上一網頁Post過來的資料過濾後讀取資料,這時就需要寫一組SQL語句,可以參照上圖的寫法。如上圖:雙斜線“//”開頭的表示行行注釋,沒有意義。實際需要的語句如下:

Pascal代碼tmpstr := ' where depart like ' + QuotedStr('%' + Request.V('depart') + '%');Sys_DB_SQL := 'select * from users' + tmpstr;      

這其實是一組Pascal語句,01、02行的“tmpstr”和“Sys_DB_SQL”都是系統定義好的變量。01行的“Request.V('depart')”表示從網址或Post過來的資料中取名稱為'depart'的值,函數“QuotedStr”在值前後加單引号。意思是當點選哪個部門,就取哪個部門的使用者資料。見“​​使用者管理​​”。 01行拼接where條件語句并指派給“tmpstr”,02行完成整個SQL語句并指派給“Sys_DB_SQL”,系統會拿“Sys_DB_SQL”去前面設定的“資料庫連接配接源”對應的資料庫執行并傳回資料。當表單或面闆上建立了顯示的對象(如“文本框”、“輸入框”等的“表字段設定”設定了字段名)就會把資料讀取到界面上。

删除或儲存資料對應表

如果隻想把資料簡單顯示在網頁上,前面的設定就可以了。但資料展現到網頁後,往往還要修改并儲存到資料庫表中。“删除或儲存資料對應表”就是設定儲存資料的表。如果要儲存或删除資料,一定要設定對應的表。

關鍵字

在儲存或删除資料時,往往要按關鍵字定位要儲存或删除的記錄。該“關鍵字”作用就是設定儲存或删除的關鍵字。如果有多個請用逗号分隔。在儲存或删除時,要從目前頁面取名稱為關鍵字的元素(如input,text)值去執行操作。一般來說關鍵字的值往往是一串數字或字母,是以在讀取資料到頁面上時可以把該元素隐藏起來不可見。

中文名稱

中文名稱表示該部分資料庫操作的名稱,可以為空,主要作用是一個頁面有多個表操作時,可以區分,在儲存資料時如某項值為空的提示會用到。

更新資料成功執行的Pascal腳本、更新資料失敗執行的Pascal腳本、新增資料成功執行的Pascal腳本、新增資料失敗執行的Pascal腳本、儲存資料後執行的Pascal腳本、儲存資料前執行的Pascal腳本

這裡的更新資料(對應資料庫操作update)和新增資料(對應資料庫操作的insert)都是屬于儲存操作。這些設定提供一些自定義操作。注意,這些都是背景的pascal語言語句。

删除資料成功執行的Pascal腳本、删除資料失敗執行的Pascal腳本

在删除資料操作時提供一些自定義操作,如檢查能否删除對應記錄。注意,這些都是背景的pascal語言語句。

直接儲存資料後前端執行的Js、直接儲存資料前前端執行的Js、删除資料後前端執行的Js

HTML儲存資料分Post(表單)儲存和Ajax調用背景接口直接儲存兩種方式。這裡執行的Js都是在使用Ajax直接儲存前後執行的。删除資料後前端執行的Js也是使用Ajax方式執行。

儲存資料時使用事務管理

如果儲存資料時涉及到多個表或一個表的多步操作,為了保證資料的完整性,就需要啟用事務來儲存資料。

是表格(子控件按表格行展開)

“讀取資料的表或SQL”中執行讀取資料後的資料集如果有多條記錄,展示資料時一般就要按表格多行展示。當該屬性的值為true時,該表單或面闆的第一級元件就會按資料集的記錄數重複展現多行成表格。 ​​示範例子​​

表格資訊設定

當“是表格(子控件按表格行展開)”屬性的值為true時,就可以設定表格的資訊了。 ​​示範例子​​

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

此表格資料需要儲存

如果此表格的資料需要儲存,值要設定“true”。如是隻是展現資料不需要儲存,請把值要設定“false”。

是表格時需要分頁

值設定為“true”,表示需要分頁。分頁是系統自動完成的。實際使用時,還要在表格後面放置一個LayUI的分頁元件,實際頁切換,這也無需要寫代碼,都是系統自動實作的。

每頁記錄數

“是表格時需要分頁”值設定為“true”後此屬性才生效。設定每頁顯示的記錄數。預設是10。

每頁最大記錄數

“每頁記錄數”雖然設定了一個值,但實際運作時還可以通過網址修改pagecount值改變“每頁記錄數”,本屬性限制了最大的每頁記錄數。如https://wyeditor.com/demo/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.html?pn=14pagecount=5a=1#,pagecount=5表示每頁顯示5記錄,再如如https://wyeditor.com/demo/%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86.html?pn=14pagecount=8a=1#,pagecount=8表示每頁顯示8記錄。

分頁排序字段

MSSQL資料庫分頁必須要設定分頁排序字段。其他資料庫如果不設定将不排序。

URL分頁名稱

預設為"pn",如果一個頁面沒有多個表格,不要修改。如果修改了值,使用了LayUI的頁元件的話,也要修改其URL分頁名稱與此相同。

是分頁時需要傳回行号

在設定了分頁情況,可以傳回行号,在傳回的資料集中行号的字段名稱為“row_number”。

選中行底色

指表格選中的行的顔色。

奇數行底色、偶數行底色

設定奇數行和偶數行的顔色。

單元格輸入事件(oninput)

該事件在輸入值時發生。注意,該事件執行程式代碼都是前端的Javascript代碼。

單元格單擊事件(onclick)

該事件在滑鼠單擊單元格時發生。注意,該事件執行程式代碼都是前端的Javascript代碼。

單元格按鍵彈起事件(onkeyup)

該事件在按鍵彈起時發生。注意,該事件執行程式代碼都是前端的Javascript代碼。

行計算事件(onrowcal)

在單元格的輸入值、新增行時觸發,同一行的其他單元格要跟着修改時用。注意,該事件執行程式代碼都是前端的Javascript代碼。如​​銷售訂單明細​​修改數量要計算金額=數量*單價:

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

資料彙總事件(onsum)

在單元格的輸入值、表格新增行、删除行、讀入表格資料時觸發。注意,該事件執行程式代碼都是前端的Javascript代碼。

彙總字段設定(元素id=字段名)

在這裡設定了彙顯示元素與總字段的關系後,會在前面的“資料彙總事件(onsum)”觸發時由系統自動進行彙總,無需要寫代碼。系統進行彙總時,隻有資料類型的字段才能彙總,不是資料類型的字段隻能顯示表格行數。注意,該事件執行程式代碼都是前端的Javascript代碼。如​​銷售訂單明細​​的數量、金額、單價、折扣都做了彙總顯示在表格最後行,序号列最後行顯示記錄數,該“彙總字段設定(元素id=字段名)”設定為:“ssno=wl;sqty=qty;sprice=price;samt=amt;szk=zk”,ssno=wl:表示id為“ssno”的元素顯示字段wl的彙總結果,但wl字段的資料類型為字元,是以最終隻顯示記錄數;sprice=price:表示id為“sprice”的元素顯示字段price的彙總結果;samt=amt:表示id為“samt”的元素顯示字段amt的彙總結果...

是明細表

值為“true”表示該明細表與主表是主明細關系。在單據儲存資料時用到。如​​銷售訂單​​的主表與明細的關系。

明細表對應主表關鍵字(明細表字段=主表字段;)

“是明細表”值為“true”表示該明細表格與主表是主明細關系,這時需要設定與主表的關鍵字關系,如果有多組用逗号分隔,系統在删除和儲存資料時要用到。如​​銷售訂單​​的明細表格如上圖所示設定為:“dj_id=dj_id”,表示在資料庫中,dj_id的值一樣的主表(xs)與明細(xsmx)資料為同一單據的資料。

對應主表資料域元素ID

“是明細表”值為“true”時,應需要設定“對應主表資料域元素ID”。如​​銷售訂單​​明細的“對應主表資料域元素ID”設定為“mainform”,就是單據表頭的表單"Form"的id值。下圖是銷售訂單的主表:

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

下圖是銷售訂單的主明細表:

不寫一行代碼,制作動态網頁之金蜘蛛網頁設計器的資料庫設定

自動填充序号

當值為“true”時,在表格增加行、删除行、調整行順序時會自動修改序号。

序号字段名稱

自動填充序号時用到。

通路本頁需要登入

當頁面需要使用者登入才能通路時,設定該屬性值 為“true”即可。

檢查登入的session名稱

預設為“Logined”,如果一個伺服器隻有一個登入系統,用預設值即可。如果有兩個不同登入系統,則另一個系統登入需要修改些session名稱。修改了檢查登入的session名稱,在用登入與登出元件時也要修改為相應的檢查登入的session名稱。如“​​資料庫相關Demo​​” 中的“問題回報查詢”與“銷售訂單編制”、“使用者錄入”等就是兩個不同的登入系統。

沒有登入則跳轉到URL

設定沒有登入則跳轉到的登入頁面的URL。

繼續閱讀