ASP資料庫封裝驅動

來源:互聯網
上載者:User

思路:

原來的方案:

我們是首先根據資料庫的欄位和實際需求設計Web表單,然後從Web表單擷取提交的資料集,然後在服務段將提交的資料集和資料庫的欄位一一對應,然後再一一作過濾和處理……

現在的方案:

直接從資料庫產生架構緩衝,將每一個表的欄位及其相關屬性(類型要求、必填、長度、預設值……)儲存在全域數組中。當外部提交某張表單時,從對應的全域數組中產生相應的Dictionary對象,然後依據這個和資料表完全映射的Dictionary遍曆擷取對應的提交值,由此替代了一一對應和讀取的繁瑣過程。

實現部分被簡化為:

for i=0 to Ubound(KeysArray)-1
Key=KeysArray(i,0)
Item=Request(md5(Key))
objDict.Add Key,Item
next

也就是說,這是和傳統方案完全相反的思路,這個思路保證了所擷取的資料一定是資料庫所需要的資料,資料庫要求的資料類型或者必須為空白的資料如果出現異常則必然會出錯,等等。

最後在實現表單處理的語句簡化為,其他的一切操作都被封裝在類中:

Call System_Initialize()
Dim objUser ''建立對象
Set objUser = new TUser
objUser.Table="Comm_User" ''指定資料表
If objUser.Creat Then ''建立表的Dictionary對象
objUser.ValidAndTransfer() ''擷取資料、驗證並轉入最終的資料驅動層
objUser.Update() ''更新該表資料
End IF
Set objUser = nothing
Call System_Terminate()

與之配套的另外一個方面是從緩衝的資料表架構中按照實際表單的需要自動產生Web表單,顯示在用戶端。 

在SQL Server中遍曆當前資料庫的所有使用者表

SELECT Table_name
FROM INFORMATION_SCHEMA.TABLES
WHERE (TABLE_TYPE <> ''VIEW'')

Table_name:表名;

TABLE_TYPE:表的類型;

參見:SQL Server線上手冊,T-SQL參考,資訊架構視圖。

又及:ACCESS下也可實現相關的功能[1]

在SQL Server中遍曆指定表的欄位及屬性

SELECT Column_name,IS_NULLABLE,DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE (TABLE_NAME = ''myTableName'')

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.