有良好的数据库访问底层,才能有好良好的信息管理系统,才能更容易维护改进,才容易规范化整个系统的开发。
Web.config 配置文件
<
add key
=
"
DataBaseType
"
value
=
"
Sqlserver
"
/>
< add key = " DbHelperClass " value = " DotNet.DbUtilities.SqlHelper " />
< add key = " DbHelperAssmely " value = " DotNet.DbUtilities " />
< add key = " UserCenterConnection " value = " Server=JIRIGALA-PC;Database=UserCenterV30;Uid=sa;Pwd=sa; " />
< add key = " DbHelperClass " value = " DotNet.DbUtilities.SqlHelper " />
< add key = " DbHelperAssmely " value = " DotNet.DbUtilities " />
< add key = " UserCenterConnection " value = " Server=JIRIGALA-PC;Database=UserCenterV30;Uid=sa;Pwd=sa; " />
程序源码参考
//
------------------------------------------------------------
// All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd.
// ------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Common;
namespace DotNet.Web
{
using DotNet.Business;
using DotNet.DbUtilities;
using DotNet.Model;
/// <remarks>
/// Example
/// 多种数据库兼容的实现方法,只写一套程序在多种数据库上执行例子程序
///
/// 修改纪录
///
/// 版本:1.0 2010.06.14 JiRiGaLa 写好例子程序方便别人学习。
///
/// 版本:1.0
/// <author>
/// <name> JiRiGaLa </name>
/// <date> 2010.06.14 </date>
/// </author>
/// </remarks>
public partial class Example : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
// 各种数据库的访问方式及多数据库兼容的例子
this .DbHelper();
// 获取实体
this .GetEntity();
// 更新实体(多次数据库打开关闭)
this .UpdateEntity1();
// 更新实体(一次数据库打开关闭)
this .UpdateEntity2();
// 删除实体
this .DeleteEntity();
// 访问数据库(通过管理器访问数据库)
this .DbConnectionByManager();
// 访问数据库(通过数据库访问组件)
this .DbConnectionByDbHelper();
}
/// <summary>
/// 各种数据库的访问方式及多数据库兼容的例子
/// </summary>
private void DbHelper()
{
// 读取数据库连接
string dbConnection = ConfigurationManager.AppSettings[ " DBConnection " ];
// SqlServer 数据库
IDbHelper sqlHelper = new SqlHelper(dbConnection);
sqlHelper.Open();
sqlHelper.Fill( " SELECT * FROM BASE_USER " );
sqlHelper.Close();
// Oracle 数据库
IDbHelper oracleHelper = new OracleHelper(dbConnection);
oracleHelper.Open();
oracleHelper.Fill( " SELECT * FROM BASE_USER " );
oracleHelper.Close();
// MySql 数据库
IDbHelper mySqlHelper = new MySqlHelper(dbConnection);
mySqlHelper.Open();
mySqlHelper.Fill( " SELECT * FROM BASE_USER " );
mySqlHelper.Close();
// MySql 数据库
IDbHelper oleDbHelper = new OleDbHelper(dbConnection);
oleDbHelper.Open();
oleDbHelper.Fill( " SELECT * FROM BASE_USER " );
oleDbHelper.Close();
// 按配置获取数据库设置,多种数据库按配置自动获取
IDbHelper dbHelper = DbHelperFactory.GetHelper();
dbHelper.Open();
dbHelper.Fill( " SELECT * FROM BASE_USER " );
dbHelper.Close();
// 不用Open、Close的方式执行数据库查询,每次会自动打开关闭数据库
DbUtilities.DbHelper.Fill( " SELECT * FROM BASE_USER " );
}
/// <summary>
/// 获取实体
/// </summary>
/// <returns> 实体 </returns>
private BaseUserEntity GetEntity()
{
// 这个是管理器
BaseUserManager userManager = new BaseUserManager();
// 这里是获取一个实体、会自动打开一次数据库
BaseUserEntity userEntity = userManager.GetEntity( " jirigala " );
// 这里是读取实体的属性
// this.Title = userEntity.Username;
return userEntity;
}
/// <summary>
/// 更新实体(多次数据库打开关闭)
/// </summary>
/// <returns> 影响行数 </returns>
private int UpdateEntity1()
{
// 先读取数据
BaseUserManager userManager = new BaseUserManager();
// 这里会自动打开一次数据库
BaseUserEntity userEntity = userManager.GetEntity( " jirigala " );
// 这里进行对实体的更新
userEntity.Username = " 吉日嘎拉 " ;
// 这里是更新实体,会又会打开关闭一次数据库
return userManager.Update(userEntity);
}
/// <summary>
/// 更新实体(一次数据库打开关闭)
/// </summary>
/// <returns> 影响行数 </returns>
private int UpdateEntity2()
{
int returnValue = 0 ;
// 按配置获取数据库设置
IDbHelper dbHelper = DbHelperFactory.GetHelper();
// 打开数据库
dbHelper.Open();
// 先读取数据,按已经打开的数据库连接
BaseUserManager userManager = new BaseUserManager(dbHelper);
// 这里会自动打开一次数据库
BaseUserEntity userEntity = userManager.GetEntity( " jirigala " );
// 这里进行对实体的更新
userEntity.Username = " 吉日嘎拉 " ;
// 这里是更新实体,会又会打开关闭一次数据库
returnValue = userManager.Update(userEntity);
// 关闭数据库
dbHelper.Close();
return returnValue;
}
/// <summary>
/// 删除实体
/// </summary>
/// <returns> 影响行数 </returns>
private int DeleteEntity()
{
// 这个是管理器
BaseUserManager userManager = new BaseUserManager();
// 这里是删除一个实体、也会自动打开关闭数据库一次
return userManager.Delete( " jirigala " );
}
/// <summary>
/// 访问数据库(通过管理器访问数据库)
/// </summary>
private void DbConnectionByManager()
{
BaseUserManager userManager = new BaseUserManager();
// userManager.GetDT();
// 类里的数据库使用方法
DataTable dataTable = userManager.DbHelper.Fill( " SELECT * FROM BASE_USER " );
userManager.DbHelper.ExecuteNonQuery( " SELECT * FROM BASE_USER " );
userManager.DbHelper.ExecuteScalar( " SELECT * FROM BASE_USER " );
IDataReader dataReader = userManager.DbHelper.ExecuteReader( " SELECT * FROM BASE_BUSINESSCARD " );
List < BaseBusinessCardEntity > listBaseBusinessCard = new List < BaseBusinessCardEntity > ();
while (dataReader.Read())
{
listBaseBusinessCard.Add( new BaseBusinessCardEntity().GetFrom(dataReader));
}
}
/// <summary>
/// 访问数据库(通过数据库访问组件)
/// </summary>
private void DbConnectionByDbHelper()
{
// 数据库使用方法
DataTable dataTable = DbUtilities.DbHelper.Fill( " SELECT * FROM BASE_USER " );
DbUtilities.DbHelper.ExecuteNonQuery( " SELECT * FROM BASE_USER " );
DbUtilities.DbHelper.ExecuteScalar( " SELECT * FROM BASE_USER " );
// 用参数的访问方式
string sqlQuery = " SELECT COUNT(*) FROM BASE_USER WHERE ID= " + DbUtilities.DbHelper.GetParameter( " ID " );
DbParameter[] dbParameters = DbUtilities.DbHelper.MakeParameters( " ID " , " jirigala " );
DbUtilities.DbHelper.ExecuteScalar(sqlQuery, dbParameters);
IDataReader dataReader = DbUtilities.DbHelper.ExecuteReader( " SELECT * FROM BASE_BUSINESSCARD " );
List < BaseBusinessCardEntity > listBaseBusinessCard = new List < BaseBusinessCardEntity > ();
while (dataReader.Read())
{
listBaseBusinessCard.Add( new BaseBusinessCardEntity().GetFrom(dataReader));
}
}
}
}
// All Rights Reserved , Copyright (C) 2010 , Jirisoft , Ltd.
// ------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.Common;
namespace DotNet.Web
{
using DotNet.Business;
using DotNet.DbUtilities;
using DotNet.Model;
/// <remarks>
/// Example
/// 多种数据库兼容的实现方法,只写一套程序在多种数据库上执行例子程序
///
/// 修改纪录
///
/// 版本:1.0 2010.06.14 JiRiGaLa 写好例子程序方便别人学习。
///
/// 版本:1.0
/// <author>
/// <name> JiRiGaLa </name>
/// <date> 2010.06.14 </date>
/// </author>
/// </remarks>
public partial class Example : System.Web.UI.Page
{
protected void Page_Load( object sender, EventArgs e)
{
// 各种数据库的访问方式及多数据库兼容的例子
this .DbHelper();
// 获取实体
this .GetEntity();
// 更新实体(多次数据库打开关闭)
this .UpdateEntity1();
// 更新实体(一次数据库打开关闭)
this .UpdateEntity2();
// 删除实体
this .DeleteEntity();
// 访问数据库(通过管理器访问数据库)
this .DbConnectionByManager();
// 访问数据库(通过数据库访问组件)
this .DbConnectionByDbHelper();
}
/// <summary>
/// 各种数据库的访问方式及多数据库兼容的例子
/// </summary>
private void DbHelper()
{
// 读取数据库连接
string dbConnection = ConfigurationManager.AppSettings[ " DBConnection " ];
// SqlServer 数据库
IDbHelper sqlHelper = new SqlHelper(dbConnection);
sqlHelper.Open();
sqlHelper.Fill( " SELECT * FROM BASE_USER " );
sqlHelper.Close();
// Oracle 数据库
IDbHelper oracleHelper = new OracleHelper(dbConnection);
oracleHelper.Open();
oracleHelper.Fill( " SELECT * FROM BASE_USER " );
oracleHelper.Close();
// MySql 数据库
IDbHelper mySqlHelper = new MySqlHelper(dbConnection);
mySqlHelper.Open();
mySqlHelper.Fill( " SELECT * FROM BASE_USER " );
mySqlHelper.Close();
// MySql 数据库
IDbHelper oleDbHelper = new OleDbHelper(dbConnection);
oleDbHelper.Open();
oleDbHelper.Fill( " SELECT * FROM BASE_USER " );
oleDbHelper.Close();
// 按配置获取数据库设置,多种数据库按配置自动获取
IDbHelper dbHelper = DbHelperFactory.GetHelper();
dbHelper.Open();
dbHelper.Fill( " SELECT * FROM BASE_USER " );
dbHelper.Close();
// 不用Open、Close的方式执行数据库查询,每次会自动打开关闭数据库
DbUtilities.DbHelper.Fill( " SELECT * FROM BASE_USER " );
}
/// <summary>
/// 获取实体
/// </summary>
/// <returns> 实体 </returns>
private BaseUserEntity GetEntity()
{
// 这个是管理器
BaseUserManager userManager = new BaseUserManager();
// 这里是获取一个实体、会自动打开一次数据库
BaseUserEntity userEntity = userManager.GetEntity( " jirigala " );
// 这里是读取实体的属性
// this.Title = userEntity.Username;
return userEntity;
}
/// <summary>
/// 更新实体(多次数据库打开关闭)
/// </summary>
/// <returns> 影响行数 </returns>
private int UpdateEntity1()
{
// 先读取数据
BaseUserManager userManager = new BaseUserManager();
// 这里会自动打开一次数据库
BaseUserEntity userEntity = userManager.GetEntity( " jirigala " );
// 这里进行对实体的更新
userEntity.Username = " 吉日嘎拉 " ;
// 这里是更新实体,会又会打开关闭一次数据库
return userManager.Update(userEntity);
}
/// <summary>
/// 更新实体(一次数据库打开关闭)
/// </summary>
/// <returns> 影响行数 </returns>
private int UpdateEntity2()
{
int returnValue = 0 ;
// 按配置获取数据库设置
IDbHelper dbHelper = DbHelperFactory.GetHelper();
// 打开数据库
dbHelper.Open();
// 先读取数据,按已经打开的数据库连接
BaseUserManager userManager = new BaseUserManager(dbHelper);
// 这里会自动打开一次数据库
BaseUserEntity userEntity = userManager.GetEntity( " jirigala " );
// 这里进行对实体的更新
userEntity.Username = " 吉日嘎拉 " ;
// 这里是更新实体,会又会打开关闭一次数据库
returnValue = userManager.Update(userEntity);
// 关闭数据库
dbHelper.Close();
return returnValue;
}
/// <summary>
/// 删除实体
/// </summary>
/// <returns> 影响行数 </returns>
private int DeleteEntity()
{
// 这个是管理器
BaseUserManager userManager = new BaseUserManager();
// 这里是删除一个实体、也会自动打开关闭数据库一次
return userManager.Delete( " jirigala " );
}
/// <summary>
/// 访问数据库(通过管理器访问数据库)
/// </summary>
private void DbConnectionByManager()
{
BaseUserManager userManager = new BaseUserManager();
// userManager.GetDT();
// 类里的数据库使用方法
DataTable dataTable = userManager.DbHelper.Fill( " SELECT * FROM BASE_USER " );
userManager.DbHelper.ExecuteNonQuery( " SELECT * FROM BASE_USER " );
userManager.DbHelper.ExecuteScalar( " SELECT * FROM BASE_USER " );
IDataReader dataReader = userManager.DbHelper.ExecuteReader( " SELECT * FROM BASE_BUSINESSCARD " );
List < BaseBusinessCardEntity > listBaseBusinessCard = new List < BaseBusinessCardEntity > ();
while (dataReader.Read())
{
listBaseBusinessCard.Add( new BaseBusinessCardEntity().GetFrom(dataReader));
}
}
/// <summary>
/// 访问数据库(通过数据库访问组件)
/// </summary>
private void DbConnectionByDbHelper()
{
// 数据库使用方法
DataTable dataTable = DbUtilities.DbHelper.Fill( " SELECT * FROM BASE_USER " );
DbUtilities.DbHelper.ExecuteNonQuery( " SELECT * FROM BASE_USER " );
DbUtilities.DbHelper.ExecuteScalar( " SELECT * FROM BASE_USER " );
// 用参数的访问方式
string sqlQuery = " SELECT COUNT(*) FROM BASE_USER WHERE ID= " + DbUtilities.DbHelper.GetParameter( " ID " );
DbParameter[] dbParameters = DbUtilities.DbHelper.MakeParameters( " ID " , " jirigala " );
DbUtilities.DbHelper.ExecuteScalar(sqlQuery, dbParameters);
IDataReader dataReader = DbUtilities.DbHelper.ExecuteReader( " SELECT * FROM BASE_BUSINESSCARD " );
List < BaseBusinessCardEntity > listBaseBusinessCard = new List < BaseBusinessCardEntity > ();
while (dataReader.Read())
{
listBaseBusinessCard.Add( new BaseBusinessCardEntity().GetFrom(dataReader));
}
}
}
}
将权限管理、工作流管理做到我能力的极致,一个人只能做好那么很少的几件事情。
<script type="text/javascript"> if ($ != jQuery) { $ = jQuery.noConflict(); } </script>