自己动手做博客之日志管理-2.1 数据库类

原创 2007年10月08日 14:29:00
    在ASP.NET中,任何的Web窗体页是以类的形式来组织的。因此,我们可以封装一些常用的方法和事件,这样将会在编程过程中起到事半功倍的效果。在经过对日志管理系统分析和数据库的设计后,可很容易地发现一些可以抽象为类的功能。例如,可以将数据库的连接、执行SQL语句并得到各种返回值等,生成一个数据库类。虽然这些所有的功能,也可以在具体实现的Web窗体页中直接实现,但使用类的封装实现,更符合面向对象编程的思想。
    本系统中我们仅使用了数据库管理类以此为例,其他通用类(例如、评论管理类和字符串处理类)的实现方式类似。
    数据库管理类实现的是对数据库的基础操作,例如与数据库的连接、执行SQL语句并得到各种返回值以利于进一步使用数据库返回的结果。将数据库类命名为dbconfig,然后添加命名空间,如下程序所示:
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
    接下来,创建一个类并声明编程时需要使用的变量。使用面向对象的说法是,实现数据库类,并为其添加成员:
public class dbconfig
{

    public SqlConnection conn;

    public SqlCommand cmd;

    public SqlDataReader dr;

    public SqlDataAdapter da;

    public string strSqlConn;

}
    为数据库类添加一个构造函数,使其实例化时自动创建一个连接,如下程序所示:

    public dbconfig ()

    {

        conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnStr"]);

        conn.Open();

    }
    上面创建的为默认构造函数,无法指定自定义的数据库连接,通用性不好。下面为dbconfig类重载一个构造函数,该构造函数可以在实例化时指定连接字符串,如下所示:

    public dbconfig (string cstr)

    {

        conn = new SqlConnection(cstr);

        conn.Open();

    }
    经过两个构造函数的创建后,数据库管理类dbconfig的实用性能越来越好,但是目前还不具备真正的与数据库交互的功能,例如执行SQL语句,更新和返回指定的数据等。可添加下列所示的类方法代码来完善类:

    public SqlDataReader ExecuteReader(string sql)

    {

        cmd = new SqlCommand(sql, conn);

        dr = cmd.ExecuteReader();

        return dr;

    }

    public void ExecuteNonQuery(string sql)

    {

        cmd = new SqlCommand(sql, conn);

        cmd.ExecuteNonQuery();

    }

    public void Update(string sql)

    {

        cmd = new SqlCommand(sql, conn);

        cmd.ExecuteNonQuery();

    }
    新增上述3个方法后,dbconfig类变得功能更强大了。再为类增加一个可以一次获取表中数据的方法,创建之后,我们可以快速地从数据库提取某个表并绑定显示到Web窗体上,程序如下所示:

    public ICollection CreateSource(string sql)

    {

        da = new SqlDataAdapter(sql, conn);

        DataSet ds = new DataSet();

        da.Fill(ds, "mytable");

        return ds.Tables["mytable"].DefaultView;

    }
    最后为类添加一个方法来清理资源并释放连接,通常在最后来调用。如下所示:

    public void Clear()

    {

        strSqlConn = null;

        cmd = null;

        dr = null;

        da = null;

        conn.Close();

    }
    为系统添加一个Web配置文件Web.config,打开后在<configuration></configuration>标记之间插入如下的语句:
         <appSettings>

                   <add key="ConnStr" value="server=ZHT;uid=sa;pwd=123456;database=myLog"/>

         </appSettings>
    以上语句在配置文件中添加了连接数据库时使用的字符串,指定了数据库服务器、登录数据库的名称、用户名和密码信息。然后就可以使用如下的语句创建一个数据库类的实例来连接数据库了:
   //创建数据库实例

   dbconfig db = new dbconfig();

 

【Android 开发实例】时间管理APP开发之数据库设计

当然也可以先写界面什么的,但是,总觉得先把数据库后台写好在写界面比较放心。 对于数据库的设计,我一开始没什么概念,甚至不知道如何下手,一开始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一...
  • hu1020935219
  • hu1020935219
  • 2014年11月17日 09:21
  • 3152

Myeclipse管理mysql数据库的详细步骤

第一步 打开Database Window——>Open Perspective——>MyEclipse Database Explorer——>ok 第二步:创建连接 在空白处右击鼠标...
  • u013426269
  • u013426269
  • 2014年02月10日 14:27
  • 1215

Oracle归档日志管理

在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle最大的区别之一就是数据库可以在数据出错的时候进行恢复。这个也就是我们常见的Oracle中的重做日志(REDO FILE)的功能...
  • jccyww
  • jccyww
  • 2016年03月21日 22:34
  • 1923

自己动手做数据库客户端: BashSQL开源数据库客户端

BashSQL是一个非常方便小巧的开源数据库命令行工具,完全使用Bash脚本开发,其主要目的是帮助程序员快速了解学习Bash脚本编程。BashSQL可以支持MySQL(默认)、Oracle、Redis...
  • Dreamcode
  • Dreamcode
  • 2017年06月13日 23:14
  • 934

自己动手做系统教程

  • 2017年07月16日 15:32
  • 98B
  • 下载

自己动手做操作系统.pdf

  • 2009年03月29日 23:05
  • 20.42MB
  • 下载

JAVA贺新年-自己动手做QQ(P2P聊天工具含源码)

  • 2012年01月04日 11:42
  • 503KB
  • 下载

自己动手做的悬浮的gif动画

  • 2011年06月10日 17:48
  • 834KB
  • 下载

自己动手做操作系统教程

  • 2012年05月16日 17:20
  • 20.61MB
  • 下载

自己动手做StickyHeaderListView

  • 2015年11月19日 12:51
  • 2.36MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:自己动手做博客之日志管理-2.1 数据库类
举报原因:
原因补充:

(最多只允许输入30个字)