.NET做WEB应用和网站开发的时候,经常都对数据库进行各种操作.
这里和大家分享一下自己封装的简单DataAccess类.
DataAccess进立的是一个数据库工厂,对各种数据库进行了封装,具体说,他是与数据库种类无关的一个工具类.
DataAccess总共只有三个方法:
一
public static DbCommand CreateCommand()
该方法是一个静态方法,它从WebConfig里面读取数据库连接字符串,然后打开数据库,返回一个DbCommand 参数.
二
public static bool ExecuteCommand(DbCommand command)
该静态方法接收一个DbCommand 参数,然后执行增、删、改三种操作,返回BOOL类型的值。
三
public static DataTable ExecuteSelectCommand(DbCommand command)
此方法接收一个DbCommand 参数,执行SELECT任务,以DataTable 返回查询的结果集。
整个过程就是:
CreateCommand()创建一个DbCommand 参数,用户指定DbCommand 的CommandType和内容,然后传给ExecuteCommand或ExecuteSelectCommand执行。
代码如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.Common;
/// <summary>
/// DataAccess类
/// </summary>
public class DataAccess
{
public DataAccess()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 查询命令执行
/// </summary>
/// <param name="command"></param>
/// <returns>数据表对象(DataTable)</returns>
public static DataTable ExecuteSelectCommand(DbCommand command)
{
//建立一个数据表,用来返回数据
DataTable table=null ;
//执行数据操作
try
{
//打开数据连接
command.Connection.Open();
//执行数据命令并保存在数据表中
DbDataReader reader = command.ExecuteReader();
table = new DataTable();
table.Load(reader);
reader.Close();
}
catch (Exception ex)
{
throw new Exception (ex.Message );
}
finally
{
//关闭数据库连接
command.Connection.Close();
}
return table;
}
public static bool ExecuteCommand(DbCommand command)
{
//保存判断变量
bool flag = false;
//受影响的行数
int executeNum = -1;
//执行数据库
try
{
//打开数据库连接
command.Connection.Open();
executeNum = command.ExecuteNonQuery();
if (executeNum > -1)
flag = true;
}
catch (Exception ex)
{
throw new Exception (ex.Message );
}
finally
{
//关闭数据库连接
command.Connection.Close();
}
return flag;
}
/// <summary>
/// 建立数据操作命令
/// </summary>
/// <returns>comm</returns>
public static DbCommand CreateCommand()
{
//提取数据库服务商提供名称
string dataProviderName = WarehouseConfiguration.DbProviderName;
//提取数据库连接字符串
string connectionString = WarehouseConfiguration.DbConnectionString;
//建立一个新的通用数据库工厂
DbProviderFactory factory = DbProviderFactories.GetFactory(dataProviderName);
//建立数据库连接字符串
DbConnection conn = factory.CreateConnection();
//设计连接字符串
conn.ConnectionString = connectionString;
//建立数据操作命令
DbCommand comm = conn.CreateCommand();
//设置command的type属性
comm.CommandType = CommandType.Text;
return comm;
}
}
相关文章: