PetShop数据操作部分的几点感受

来博客园这么久了都没有发过自己的东西实在惭愧

新手发随笔,高手莫笑哦

题目:PetShop中操作数据的方法

1.:SqlHelper.cs
整合了一些操作数据的方法,节省了时间和空间,简单的就这么讲。

2.:为什么要定义常量参数
有些人奇怪为什么操作数据的方法里为什么这样
1private const string SQL_ARTICLE_INSERT = "INSERT INTO NR_Article([columnid],[sort],[time],[title],[content],[author],[hit],[status]) VALUES(@ColumnID,@Sort,@Time,@Title,@Content,@Author,@Hit,@Status)";
2
3private const string PARM_ARTICLE_ID = "@ID";
可能奇怪为什么要用PARM_ARTICLE_ID的形式,
原因是编译后只需要调用就可以了,也就是说这部分的代码编译一次以后直接调用就可以了
而如果采用一般的变量的方式,每执行一次就要动态编译一次(不知道这样说有没有问题)

3.:接口的作用
PetShop里实现了几个数据库的调用方式,利用的就是接口然后再利用反射来确定动态加载的程序集

4.在PetShop里用abstract抽象类实现工厂方法
PetShop里用的是接口,但是我们也可以用abstract的形式,参考了CS的代码Provider + SqlProvider

using System;
using Edot.NewsRelease.Components;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Data;

namespace Edot.NewsRelease.SqlProvider
{
    
/// <summary>
    
/// SqlProvider 的摘要说明。
    
/// 实现数据库操作
    
/// </summary>

    /*------------------------------------------------------------------
     * 结合了SqlHelper进行数据库操作,用操作串进行操作
     *------------------------------------------------------------------
*/

    
public class SqlProvider:Provider
    
{
        
private string dbOwner = "dbo";
        
private string connString = null;

        
protected string DBOwner
        
{
            
get{return dbOwner;}
            
set{dbOwner = value;}
        }


        
protected string ConnString
        
{
            
get{return connString;}
            
set{connString = value;}
        }

        
        
public SqlProvider(string strDbOwner,string strConnString)
        
{
            
//
            
// TODO: 在此处添加构造函数逻辑
            
//
            DBOwner = strDbOwner;
            ConnString 
= strConnString;
        }


        
public SqlConnection GetSqlConnection()
        
{
            
try
            
{
                
return new SqlConnection(ConnString);
            }

            
catch
            
{    
                
throw new Exception("数据库连接字符串出错,请检查!");
            }

        }

        
        
Article操作部分
给出操作Article的部分希望可以帮助一些人

posted on 2005-11-09 18:55  xwang  阅读(919)  评论(0编辑  收藏  举报

导航