首页 > 新闻系统 > 编程天地 > 文章正文

.Net 2005 partial class 的用途

2008-03-28 11:01:35 来源:中国编程网 作者:未知 点击:
 一般来说,我习惯把数据库操作部分和相应的类放在一起,比如,一个 BookCollection 类就应该自己包含操作 Book 表:

  一般来说,我习惯把数据库操作部分和相应的类放在一起,比如,一个 BookCollection 类就应该自己包含操作 Book 表:


view plaincopy to clipboardprint?
using System;    
using System.Collections;    
   
public class Book    
{    
    public string BookName;    
}    
   
public class BookCollection : CollectionBase    
{    
    public void Add(Book b)    
    {    
        List.Add(b);    
        SaveToDatabase(b);    
    }    
        
    private void SaveToDatabase(Book b)    
    {    
        string sql = string.Format(    
            "Insert Into [Books] ([BookName]) Values (’{0}’)",    
            b.BookName.Replace("’", "’’"));    
        SqlConnection.CreateCommand(sql).ExecuteNonQuery();    
    }    
}  
using System;using System.Collections;public class Book{public string BookName;}public class BookCollection : CollectionBase{public void Add(Book b){List.Add(b);SaveToDatabase(b);}private void SaveToDatabase(Book b){string sql = string.Format("Insert Into [Books] ([BookName]) Values (’{0}’)",b.BookName.Replace("’", "’’"));SqlConnection.CreateCommand(sql).ExecuteNonQuery();}}


  不过,对于三层结构的程序要求来说,应该把数据库操作部分和业务逻辑部分拆分开来:


view plaincopy to clipboardprint?
using System;    
using System.Collections;    


  public class Book    
{    
    public string BookName;    
}    
   
public class BookCollection : CollectionBase    
{    
    public void Add(Book b)    
    {    
        List.Add(b);    
        BookAccess.SaveToDatabase(b);    
    }    
        
}    
   
public class BookAccess    
{    
    public static void SaveToDatabase(Book b)    
    {    
        string sql = string.Format(    
            "Insert Into [Books] ([BookName]) Values (’{0}’)",    
            b.BookName.Replace("’", "’’"));    
        SqlConnection.CreateCommand(sql).ExecuteNonQuery();    
    }    
}  
using System;using System.Collections;public class Book{public string BookName;}public class BookCollection : CollectionBase{public void Add(Book b){List.Add(b);BookAccess.SaveToDatabase(b);}}public class BookAccess{public static void SaveToDatabase(Book b){string sql = string.Format("Insert Into [Books] ([BookName]) Values (’{0}’)",b.BookName.Replace("’", "’’"));SqlConnection.CreateCommand(sql).ExecuteNonQuery();}}
9 7 3 1 2 3 4 8 :

精彩推荐
焦点大图推荐
本类热门文章

论坛美图

广告联系 | 版权说明 | 意见建议 | 加入收藏 | 军网站群 [ 军软件园 - 军软件商城 - 军软件园论坛 ]

电信与信息服务业务经营许可证:京ICP证050203