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

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

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

2.:为什么要定义常量参数
有些人奇怪为什么操作数据的方法里为什么这样
1 private   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
3 private   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的部分希望可以帮助一些人
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值