日期:2013-09-10  浏览次数:20951 次

在前面的文章里,讲了些方法,如果大家仔细体会的其实都还是老的一套方法,根本没有体现面向对象过程编程的思想。并且前面2篇文章的那种方法,代码的重复利用率不高。

我们可以把DDLItem表给对象化,把表里的字段当作其属性,我先创建个对象类,类名为DDLItemInfo,代码如下所示:

using System;



namespace BindDropDownList

{

/// <summary>

/// 主要是把DDLItem表对象化,

/// 把表的字段变为属性,可以任意的

/// 获取或设置该属性的值。

/// </summary>

public class DDLItemInfo

{

//定义内部变量

private int _id;

private string _ItemName;



//定义2重构造函数

public DDLItemInfo(){}



public DDLItemInfo( int id, string ItemName )

{

_id = id;

_ItemName = ItemName;

}



//定义成员的方法

public int id

{

get

{

return _id;

}

set

{

_id = value;

}

}



public string ItemName

{

get

{

return _ItemName;

}

set

{

_ItemName = value;

}

}

}

}

然后创建为该表使用的方法的类库,类名DDLItem.cs,代码如下所示:

using System;

using System.Collections;

using System.Data;

using System.Data.SqlClient;



namespace BindDropDownList

{

/// <summary>

/// 对DDLItem 表的各种SQL操作。

/// </summary>

public class DDLItem

{

public DDLItem(){}



//定义数据库连接字串

private const string SQL_CONN_STRING = System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];



//定义SQL语句

private const string SQL_SELECT_DDLIIEMS = "select id, ItemName from DDLItem order by id desc";



//构造一个方法来读取所有的DDLItem表里的记录

public IList Get_DDLItems()

{

//实例化一个可动态增加长度的数组

IList itemList = new ArrayList();

//定义数据库连接

SqlConnection myConn = new SqlConnection( SQL_CONN_STRING );

//定义SQL命令

SqlCommand myCommand = new SqlCommand( SQL_SELECT_DDLIIEMS, myConn );

//打开数据库

myCommand.Connection.Open();

//定义一个SqlDataReader

SqlDataReader rdr = myCommand.ExecuteReader();

//开始循环读取记录

while( rdr.Read() )

{

//构造一个实例化的DDLItem表对象

DDLItemInfo itemInfo = new DDLItemInfo(

rdr.IsDBNull( 0 ) ? 0 : rdr.GetInt32( 0 ),

rdr.IsDBNull( 1 ) ? string.Empty : rdr.GetString( 1 )

);

itemList.Add( itemInfo );

}

//关闭SqlDataReader和SqlConnection

rdr.Close();

myCommand.Connection.Close();



return itemList;

}



}

}



上面就把我们要操作的方法都定义好了,下面就是怎么调用的问题了,再创建一个Aspx的页面,代码如下所示:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControl