C#.NET的N层结构程序开发思路(C# + Access带源代码)

 

C#.NET + Access 示例讲解

1、准备阶段

2、数据层实现

3、商务层实现

4、表示层实现

5、总结

 

C#.NET  + MS Sql Server 2000 示例讲解

 

此部分整理中,稍后奉上

 

一、准备      [顶部]

 

        设计面向对象软件比较困难,而设计可复用、高扩展、架构安全的面向对象软件就更加困难。下面就自己学习、使用C#.NET开发的一些经验拿出来和大家一块讨论。

示例说明:通过一个简单的数据库系统,了解一下C#.NET的N层设计模式是如何实现的,以及如何提高代码的可复用性、高扩展性、系统安全性。

功能描述:一个简单的图书管理,实现图书信息的增加、修改、删除、检索等功能。

数据库设计:    数据表 t_Book

字段名 主键 数据类型 取值 是否空 描述说明
 BookId  PK  自动编号    否  编号 
 BookName    文本 50 书名

 项目属性及目录结构:

1、建虚拟目录名为Example指向你的项目编辑目录

2、新建asp.net web项目命名为Example

3、设置项目属性:程序集名称、默认命名空间均为“Com.LXJ.Example”

4、目录结构安排:

       项目根目录---Book---Business---Book.cs

                                        ---Data---BookForAccess.cs

                                                    ---BookForSql.cs   (在讲sql示例时使用)

                                         ---BookList.aspx      (操作页面,包括:新增、修改、删除、清单功能)

                           ---Buttons  (存放图片、按钮等)

                           ---Css--Style.css   (样式表)

5、配置web.config文件:配置数据库连接参数

 <appSettings>
    <!--
  connStr参数设置,事例说明:
  (1)Sql server数据库,例如“server=local;database=test;uid=sa;pwd=;”
  (2)Access数据库,例如“data/ex.mdb; user id='admin';Jet OLEDB:database password='admin';”
 -->
    <add key="connStr" value="DB/Example.mdb; user id='admin';Jet OLEDB:database password='admin';" />
  </appSettings>

程序设计开始:

1、按要求建立Access数据库及数据表

2、编写数据库访问、操作的公用类,此类可以复用到以后开发的任何系统中

(1)、新建一个C# 类库项目, 命名为“Com.LXJ”,设置项目属性:程序集名称、默认命名空间均为“Com.LXJ”

(2)、在此项目目录下创建目录Database,新建C# 类文件ConnDbForAccess.cs 在Database目录下。

              添加引用:System.Web.dll

(3)、编写ConnDbForAccess.cs 的代码

 

 using System;
using System.Data;
using System.Data.OleDb;
using System.Web; 
using System.Web.UI;  


namespace Com.LXJ.Database
{
 /// <summary>
 /// conn 的摘要说明。
 /// </summary>
 public class ConnDbForAcccess
 {
  /// <summary>
  /// 连接数据库字符串
  /// </summary>
  private string connectionString;

  /// <summary>
  /// 存储数据库连接(保护类,只有由它派生的类才能访问)
  /// </summary>
  protected OleDbConnection Connection;

  /// <summary>
  /// 构造函数:数据库的默认连接
  /// </summary>
  public ConnDbForAcccess()
  {
   string connStr;
   connStr = System.Configuration.ConfigurationSettings.AppSettings["connStr"]; //从web.config配置中读取

   connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + connStr;

   Connection = new OleDbConnection(connectionString);
  }

  /// <summary>
  /// 构造函数:带有参数的数据库连接
  /// </summary>
  /// <param name="newConnectionString"></param>
  public ConnDbForAcccess(string newConnectionString)
  {
   connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + HttpContext.Current.Request.PhysicalApplicationPath + newConnectionString;
   Connection = new OleDbConnection(connectionString);
  }

  /// <summary>
  /// 获得连接字符串
  /// </summary>
  public string ConnectionString
  {
   get
   {
    return connectionString;
   }
  }

       
  /// <summary>
  /// 执行SQL语句没有返回结果,如:执行删除、更新、插入等操作
  /// </summary>
  /// <param name="strSQL"></param>
  /// <returns>操作成功标志</returns>
  public bool ExeSQL(string strSQL)
  {
   bool resultState = false;

   Connection.Open();
   OleDbTransaction myTrans = Connection.BeginTransaction();
   O

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
C# WinForm简单三框架源码共享。 本框架采用三架构实现,大家可直接在上面扩展,进行自己系统的二次开发等。 框架中数据库字符串的配置在根目录的DBCfg.xml文件中,该文件中部分内容已经加密, 文件中有两个数据库的字符串,实际过程中只用一个即可(案例中是我自己的项目的需求) 系统框架简介: 采用广为人知的简单三DAL(DBUtility),BLL,UI实现,习惯开发web的朋友一看就明白了 框架默认提供很多方法,如需添加新的操作表,只需要新建一个类,拷贝下基本的代码即可 同时提供数据库字符串修改窗体,方便您的修改。 运行本框架需要创建一张表 sql如下: CREATE TABLE [dbo].[Infos]( [Iid] [int] IDENTITY(1,1) NOT NULL, [title] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL, [details] [text] COLLATE Chinese_PRC_CI_AS NULL, [imgs] [varchar](5000) COLLATE Chinese_PRC_CI_AS NULL, [classify] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL, [publiship] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL, [publishman] [varchar](20) COLLATE Chinese_PRC_CI_AS NULL, [publishtime] [datetime] NULL, [isshow] [varchar](4) COLLATE Chinese_PRC_CI_AS NULL, [istop] [varchar](4) COLLATE Chinese_PRC_CI_AS NULL, [hits] [int] NULL, [notes] [varchar](255) COLLATE Chinese_PRC_CI_AS NULL, CONSTRAINT [PK_Infos] PRIMARY KEY CLUSTERED ( [Iid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值