簡單的需求,點點滑鼠就可以了,那麼複雜的需求呢?還是要寫代碼,哈哈。
單表的增删改查
我有一個夢想,那就是不用敲代碼,隻需要點點滑鼠,就可以實作客戶的需求。
可能您會說這是不可能的,但是有個夢想總沒有錯吧。我就是想實作我的這個夢想,雖然可能一輩子都達不到,但是我還想努力一下子,不想讓自己後悔。如果不給自己找一個目标的話,那麼活着是不是太沒有意思了呢?編碼是一種樂趣,那麼怎麼做才能夠是一種樂趣,而不是應付差事呢?
好在現在已經獲得了一點點成績——單表的增删改查,這種情況已經達到了點點滑鼠就可以完成的程度。獨樂樂不如衆樂樂,拿出來與大家分享。(有源碼下載下傳)
我們舉一個用爛的例子吧,新聞表的增删改查。下面的功能都是給程式員用的,不是給客戶用的。
實作步驟:
1、 編寫資料庫文檔。Excel 格式的一個文檔,這個還是需要鍵盤的,隻用滑鼠有點困難。不過這個應該屬于設計階段,不屬于編碼階段。至于時間,那就可長可短了。
【表設計】
字段名
中文名
類型
大小
預設值
允許空
說明
News_Info
新聞表
NewsID
主鍵
int
4
主鍵,自增
NewsTitle
新聞名稱
nvarchar
30
_
Content
新聞内容
ntext
16
AddedDate
添加日期
datetime
8
GetDate()
AddedUser
添加人
10
Hits
人氣
2、 打開網頁,輸入網址,就是打開我的那個配置資訊維護程式,也就是大家可以下載下傳的Demo。使用者名:admin,密碼:123。(頁面很難看,沒有做任何的修飾)
【表1:登陸頁面】
3、 進入“資料文檔、建表”節點,我們可以看到Excel裡面的記錄的表名,在這裡可以檢視文檔裡的表、字段的說明。也可以根據文檔裡的内容在SQL Server 裡面建立表,可以根據文檔裡的内容,添加配置資訊到 Manage_Table和Manage_Columns表。做好基礎工作,為後面的步驟做好準備。(1分鐘以内)
【表2:檢視表、字段】
【表3:添加表的擴充資訊】(已經添加過的話,修改表資訊)
【表4:添加字段的擴充資訊】(已經添加過的不再添加,也不修改)
4、 打開“功能節點管理”節點,添加一個功能節點。不要看這裡的控件這麼多,就感覺很麻煩,其實隻需要添加“節點名稱”、“網址”即可,其他字段都是自動計算出來的,您看一看沒有問題就可以直接使用了。這個功能剛作出來不久,沒有經過長期的測試,是以有幾個控件沒有隐藏起來,不隐藏起來就可以直接看到内容是否正确。等确定沒有問題後,可以把幾個控件隐藏起來的。(1-2分鐘)
【表5:功能節點清單】
【表6:添加節點】
5、 打開“配置設定配置資訊”節點,這裡可以做各種設定。
【表7:清單】
6、 單擊“添加清單資訊”按鈕,打開頁面,設定清單需要的資訊,比如檢視資料的表、視圖,标題名稱,排序字段、頁記錄數,添加、修改、删除用表等資訊。(1-2分鐘)
【表8:添加清單資訊】
7、 單擊“功能按鈕維護”按鈕,打開“節點裡的功能按鈕”頁面,這裡可以添加、修改需要的功能按鈕。(1-2分鐘)
【表9:功能按鈕】
8、 單擊“選擇清單、表單的字段”按鈕,打開選擇字段的頁面,選擇清單、表單、查詢裡面需要的字段。(1分鐘以内)
【表10:選擇字段】
9、 設定清單、表單、查詢條件。單擊“清單字段維護”、“查詢字段維護”、“表單字段維護”按鈕,就可以進入相關的頁面,對清單、表單、查詢進行具體的調整。(0.5-3分鐘)
【表11:調整清單】
【表12:修改查詢條件】
【表13:調整表單布局】
10、 修改表單裡的控件。因為根據文檔裡的内容自動生成的配置資訊可能不能滿足需求,比如“新聞内容字段”,隻能自動生成單行文本,這個用于添加新聞顯然是不适合的,那麼就需要做一下适當的變化,我們可以打開“修改配置資訊”節點,選擇“News_Info”表,單擊“檢視字段”按鈕。打開“修改字段的描述資訊”頁面,在這裡我們可以對字段的配置資訊進行修改。(1-3分鐘)
【表14:字段資訊清單】
【表15:修改字段配置資訊】
11、 OK,現在可以添加新聞了。重新整理左面的樹,我們就會看到剛剛添加的這個節點,點選進入,點選添加按鈕,看到表單了吧,填内容,然後儲存。看到新添加的記錄了沒?然後修改記錄,删除記錄。
【表16:新聞管理】
12、 與角色的結合。添加了新的功能節點,又添加了按鈕,那麼角色管理會是什麼樣子的呢?添加新的功能節點、按鈕之後,在添加角色的頁面裡,這些新添加的就會自動的出現。您可以根據客戶的情況來修改角色,以便讓可以使用該功能的使用者可以使用新增加的功能。
【表17:添加角色】
從第四步開始(選擇字段的除外),表格都是MyGird(我的顯示資料的控件)繪制出來的,查詢都是查詢控件(MyFind)繪制出來的,表單也都是表單控件繪制出來的,當然也少不了QuickPager了。我隻需要拖拽這幾個控件就可以了。而且清單頁面大都是dataList.aspx,表單頁面有一半是dataForm.aspx 頁面。
FAQ
1、 字段名變了怎麼辦?
這個簡單,我們可以用【表15:修改字段配置資訊】這裡的功能來修改字段名,這裡不僅會修改配置資訊裡的字段名,而且還會同時修改資料庫裡的表的字段名、資料庫說明文檔(Excel)裡面的字段名稱。這樣就可以“強制”三者的同步更新。
2、 添加字段了怎麼辦?
這也簡單,我們可以【表2:檢視表、字段】在這裡面,添加資料庫裡的表裡的字段,然後在添加字段的配置資訊,在後面的步驟就都一樣了。
3、 删除字段了怎麼辦?
隻要删除相關的配置資訊即可。
4、 為什麼不用實體類呢?
這個……。我們可以看【表10:選擇字段】,當我們點了“選擇”之後,右面出現了表的字段,那麼這個和實體類是不是挺像的呢?這個是從表的角色來看的,表與字段。
還可以看【表11:調整清單】、【表12:修改查詢條件】、【表13:調整表單布局】,這裡就是從另外的角度來看了。從清單的角度,看看清單裡面顯示的是那些字段;從查詢的角度,看看有哪些字段,都是什麼查詢方式;從表單的角度看,一個表單裡需要哪些字段。
我覺得在一些情況下,這個比實體類好用多了,當然對于複雜的情況還是實體類好用。我也正在向如何讓表單傳回一個實體類出來。
5、 複雜的如何處理?
這個就不好說了,因為複雜也有許多情況,比如一般複雜的,比較複雜的,很複雜的,超級複雜的。這個一句話是說不明白的。這裡說的就是一個最簡單的情況,以後還會說其他的情況。我的原則:簡單的情況,簡單處理;複雜情況特殊處理。
如果您心急的話,可以下載下傳Demo,看一下我的這些管理配置資訊的寫法,就是上面的那些圖裡的功能。因為這些都是用的類似的方式實作的。都是表單控件,查詢控件等。
6、 你的權限通用嗎?
這個我比較無語了,寫了這麼多,看到的回複最郁悶的就是這個。這裡示範了添加節點和按鈕的方式,添加完畢之後,在“添加角色”裡面也可以立即看到新添加的節點和按鈕。操作步驟也說了,Demo也提供下載下傳,也有源碼。大家自己看吧,如果你說這個是不通用的,那麼就不通用好了。