C#數(shù)據(jù)訪問層簡單概述
C#語言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#數(shù)據(jù)訪問層,包括介紹如何使用.NET實現(xiàn)直接計算一個表達(dá)式等方面。
上周給大家說了說如何使用.NET實現(xiàn)直接計算一個表達(dá)式,其實該方法可以擴展為執(zhí)行一個類里面的一個方法或者使用在其他更有用的地方,正如文章中所說,文章只是描述可以實現(xiàn)的一個方法,以及該方法的一個簡單實現(xiàn)。
今天我們要看看怎么使用.NET一個自動生成源代碼,配合上一篇文章您就可以使用自己產(chǎn)生代碼供自己消費了
聽起來是不是很爽?有些朋友可能會說這個有點難吧,其實不然。我們工程里面使用了微軟提供的CodeDom命名空間,所以可以輕松實現(xiàn)。有關(guān) CodeDom的詳細(xì)信息可以參考MSDN,上面說的非常清楚!我在這里也就不羅索了。連接參考:http://msdn.microsoft.com /library/en-us/cpref/html/frlrfSystemCodeDom.asp?frame=true
本文介紹一個簡單的C#數(shù)據(jù)訪問層的源代碼自動生成的實現(xiàn),所有的代碼都是使用hard-code的方式寫的,如果您有興趣可以使用其他的方法,比如數(shù)據(jù)庫(資源文件)中獲得資源,生成源代碼,還可以實現(xiàn)一些O-R Mapping的操作。
該文章中的C#數(shù)據(jù)訪問層中有一個屬性一個字段以及一個方法。屬性是一個獲得連接對象的屬性,字段是一個連接對象的私有成員,方法是一個Get方法,得到一個查詢結(jié)果集。源代碼生成以后就象下面這個樣子:
- using System;
- using System.Data;
- using System.Data.SqlClient;
- namespace Power.Cuike519 {
- public class PowerDataAccess {
- private SqlConnection m_connection;
- public PowerDataAccess() {
- }
- public virtual SqlConnection Connection {
- get {
- return this.m_connection;
- }
- set {
- this.m_connection = value;
- }
- }
- public virtual DataSet GetAllAuthors(string s_State) {
- try {
- if (this.m_connection!=null) {
- System.Data.SqlClient.SqlDataAdapter da = new SqlDataAdapter(string.Format
("select * from authors where state like '{0}'",s_State),this.m_connection);- System.Data.DataSet ds = new DataSet();
- da.Fill(ds);
- return ds;
- }
- else {
- return null;
- }
- }
- catch (System.ApplicationException ex) {
- throw ex;
- }
- finally {
- this.m_connection.Close();
- }
- }
- }
- }
【編輯推薦】