程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第三講 使用C#開發基於XSLT的代碼生成器(1)(2)

C#發現之旅第三講 使用C#開發基於XSLT的代碼生成器(1)(2)

編輯:關於C語言

軟件設計

根據基於XSLT來實現代碼生成功能的思路,我們開始設計這個代 碼生成器。

數據來源

這個代碼生成器的數據來源就是數據庫表結構設計信息 。對於不同的數據庫類型得使用不同的方法來獲得其表結構設計信息。在此我們針對於 Access2000,MSSQLServer和Oracle這三種數據庫研究獲得其表設計信息的方法,對於其他類 型的數據庫則以後再說。

對於MSSQLServer,數據庫中有SysObjects和SysColumns這 兩個系統表,我們可以查詢系統表來獲得所有的表名稱和字段名稱以及格式,還有一個 sp_helpindex 的系統預定義存儲過程來獲得指定表的字段索引信息。

對於Oracle, 數據庫有一個名為Col的系統預定義視圖,我們可以查詢這個視圖獲得所有的表名和字段定義 信息。還有一個user_ind_columns的系統預定義視圖,我們可以關鍵字段信息。

對於 Access2000數據庫,沒有這些系統表,因此我們使用。NET框架中的OleDB的數據連接對象的 GetOleDbSchemaTable函數來獲得數據庫表和字段定義信息。

我們的代碼生成器還應 當從一下數據結構設計器生成的文檔導入表結構設計信息,這裡我們決定從PowerDesigner生 成的PDM文件中導入表設計信息,因為PDM文件是XML格式的,處理方便。

代碼生成模 板

這裡的代碼生成模板就采用XSLT格式。為了方便軟件開發和維護,我們將模板保存 在程序目錄下的XSLT擴展名的文件中,並約定文件名使用下劃線開頭。

程序

在這裡使用ASP.NET中實現該代碼生成器,使用.Net框架自帶的XSLT轉換對象來作為代碼生成 器處理引擎,並使用Html格式來展示生成的源代碼。

程序說明

根據上述的軟 件設計,我們開發出了這個代碼生成器,現對其源代碼進行詳細說明。

xslcreatecode.ASPx

本代碼生成器很簡單,只有一個ASPX頁面,打開該頁面 的設計界面,

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved