寫在開源前的幾句話:
1:指責開源不徹底,動不動就希望有一份最新版本的源碼,好像國內開源的失敗,全在開源者走向封源的原因
想說:
1:當你拿到一份源碼後,你都做了什嗎?給了反饋?幫忙宣傳?有木有,有木有?可怕的是一邊索取還一邊罵。
2:國內都是一些富翁在寫開原始碼?
2:指責打著開源的幌子在收費,既然開源了,還收費,太不地道了
想說:
1:開源!=免費,這些常識網上一搜到處有,別把開源太玩物,雖然國內盜版很嚴重,素質能提升還是要提升一下。
2:非商業使用是免費的,但是還得尊重作者的智慧財產權與勞動成果。
3:商業授權是正常的,針對的是商業,商業,這個應該懂吧。
3:資料層沒有源碼,誰會用?不敢用
想說:
1:微軟不開源,你一樣在使用,微軟的bug一堆,你一樣在使用,微軟的更新是以年為單位的,你可以等。
當然,你可以說人家是微軟,你又是什麼,如果不存在信任,笑笑當過客路過就可以了。
2:發布過的版本沒有一個加密或混淆,這點能力都沒有,要源碼相信也只是求個心安。
3:突然想起大石頭在群裡說的一句話:人家辛苦幾年的勞動成果,給你免費使用,還要對你負全責?
4:有開源版本可用,別閉著眼睛說話[.NET 3,0,3.5,4.0出來這麼久,2.0版本一樣在廣泛使用,不是只有最新版本才叫能使用]。
5:商業授權使用者都有最新發行版本源碼,若你也需要商業化,也可以進行商業授權。
好了,話多羅嗦了幾句,下面進本文:
在以前的開源版本中,曾經提到過了V1.5.5是最後的開源版本,於是V2.0版本,一直沒有相關的開源計劃。
同時,從我一系列的文章看,可以發現在忙很多事:
CYQ.Data , CYQ.DBImport , CYQ.IISLogsViewer ,秋色園 ,愛說說 ,秋式開源團隊 和一堆系列文章。
而這一切,前前後後左右上上下下裡裡外外天南地北中,就我一個人在折騰,難免很多事都顧此失彼。
還有“Silverlight+WCF 網路象棋”系列都沒時間續上了。
希望大夥理解理解,體諒體諒。
開源了,V2.0
本次,CYQ.Data 資料架構 V2.0 終於也開源了,V2.0相對於之前的版本來說,是個絕對性的版本跨越,主要表現在:
1:引入多資料庫支援。
2:引入AOP功能。
3:引入JSON支援。
4:引入擴充綁定機制。
V2.0版本相較V1.N版本而言,內部的類調整或重寫了一大半,然而有一個不變的重點:所有的對外方法,使用方式保持原樣的向下相容。
下面截一張V2.0版本的源碼項目圖:
下面是曆史修改更新記錄:
V1.3版本開始
從2010-08-18記錄了:
1:MAction:增加在Update/Insert/Fill失敗時,自動調用Close()
2:MAction:增加ResetTable功能
3:MAction:修改Fill方法:有多條記錄時返回失敗,改成返回首條記錄。
4:OutPutData:增加ExeCreateProc用於直接執行產生分頁預存程序。
從2010-08-19記錄了:
1:MAction:關閉的DataSQLHelper的返回
2:MAction:增加SetAutoPrefix,可傳多個控制項首碼
3:MAction:Insert/Update方法開放Auto擷取值功能。
4:MProce:新出產類,用於執行預存程序
5:OutPutData:新增加對預存程序枚舉的匯出
V1.4版本開始
從2010-08-20記錄了:
1:MProc:ExeScalar方法修改為泛型方法 public T ExeScalar<T>()
2:SQLString:where條件過濾掉“--”注釋號與";"分號
從2010-08-23記錄了:
1:SQLHelper/DataType/Log 兩個類修改存取修飾詞號,不對外開放
2:MProc:由SQLHelper修改訪問修飾不對外開放引起,繼承變更為內建類。
3:MProc:改返回DataTable為MDataTable,隱藏掉返回的SqlDataReader
4:MDataTable:增加ToDataTable功能
從2010-08-25記錄了:
1:DataType:合并資料類型轉化方法為兩個:GetDbType和GetSqlType,同時注釋掉其它附加方法
2:Log:修改WriteLog傳回型別為void,在寫資料庫記錄異常日誌失敗後時拋出異常
3:SQLHelper:最佳化代碼,刪除沒用到的方法
4:MAction:增加智能檢測,建構函式不需要傳入資料庫配置項。多資料庫應用時,約定枚舉產生為:[[U/V/P]_+資料庫名+Enum],設定檔資料庫連結配置項為[資料庫名+Conn]
5:CacheHelper:最佳化代碼,減少程式碼數
6:OutPutData:增加對於多資料庫專案的匯出,對於表和視圖的枚舉匯出修改成[[U/V/P]_資料庫名+Enum]格式
7:SQLHelper:增加事務支援
8:MAction:預設所有操作開啟事務支援,直到調用Close()或EndTransation()或發生異常時,事務才結束。
從2010-08-28記錄了:
1:CacheHelper:修改了幾個函數名稱
2:MProc:修改幾個方法名稱,參數實現自動增加"@"首碼
3:OutPutData:增加對預存程序參數的匯出
4:增加所有注釋及樣本產生文檔
從2010-08-30記錄了:
1:OutPutData:增加組建記錄檔表方法
V1.5版本開始
從2010-09-01記錄了:
1:MDataTable:最佳化資料繫結,速度提升。
2:SQLOutPut:修正對於sql 2000資料庫下的枚舉產生及日誌表的產生。
3:DataType:GetSqlType方法增加對ntext類型的轉換,修改轉換預設返回為SqlDbType.NVarChar
從2010-09-04記錄了:
4:增加對Guid類型的ID的支援。
5:MProc增加對SQL語句的支援
6:OutPutData:最佳化代碼,刪除沒用到的函數
從2010-09-05記錄了:
7:MDataTable:修正ToDataTable方法
從2010-09-06記錄了:
8:MAction:增加對Winform下的GetFrom與SetTo的支援
9:MActionUI:新增加的類,從MAction中分離出來。
從2010-09-07記錄了:
從2010-09-08記錄了:
10:MDataTable:支援綁定Winform的DataGridView控制項
PS:V1.5.5版本,包含了V2.0版本中修正SQL2000部分功能。
V2.0版本 為支援多資料庫本版本改動較大
從2010-09-09記錄了:
1:增加對Access資料庫的支援。
從2010-09-14記錄了:
2:SQLString:FormatWhere不格式化轉成小寫
3:Maction:最佳化對Access資料庫操作的代碼
4:OutPutData:重新調整內部代碼,增加支援Access,去掉輸出枚舉的說明。
5:V1.6版本協助工具輔助出生,增加對Access枚舉的產生支援。
從2010-09-15記錄了:
6:DbBase:預存程序傳回值不能走名稱索引,只能走數字索引方式。
7:MDataColumn:增加對列的刪除。
8:MDataTable:修改建構函式
從2010-09-19記錄了:
9:OutPutData 資料庫2000輸出屏蔽系統內建的[表/視圖/預存程序]
從2010-09-22記錄了:
10:SQL2000參數執行增加參數。
11:SQL2000分頁預存程序修正。
12:修正事務在SQL2000下的使用。
從2010-09-23記錄了:
13:增加Aop,可分離許可權/動作記錄/異常等獨立處理。
從2010-09-25記錄了:
14:MDataTable修正多次綁定時索引未複位的錯誤
從2010-09-26記錄了:
15:Aop增加動態載入功能,需要設定檔:<add key="Aop" value="程式集名稱,名稱空間.Aop類名" />
從2010-09-27記錄了:
16:增加支援Oracle,完成添加刪除更新,還差查詢。
從2010-09-28記錄了:
17:編寫分頁預存程序,並實現調用,同時使用枚舉匯出的相關功能,還沒有建立日誌表。
從2010-09-29記錄了:
18:實現建立日誌表。
19:實現協助工具輔助完成。
從2010-09-30記錄了:
20:MDataTable增加Bind方法
21:MDataTable增加ToJson輸出
22:JsonHelper類增加
從2010-10-02記錄了:
1:MAction增加Bind方法。
2:修正MAction Debug屬性[失敗後自動調用Close,屬性取不到DbBase錯誤資訊]
3:MProc 增加IDisponse介面實現
從2010-10-07記錄了:
4:MAction:Aop修改Fill返回id值
從2010-10-12記錄了:
5:MProc ResetProc重新判斷是否存預存程序
:CYQBlog
資料架構CYQ.Data 下載中心:http://www.cyqdata.com/download/article-detail-426