4.3 工作流引擎的核心代码实现
4.3.1 电子政务系统的基础类
电子政务系统的基础组件类,包括完成数据库访问功能的基础类,以及完成字符串截取、字符串连接等功能的工具类。
1、完成数据库访问功能的基础类
工作流引擎以及政务系统都要对数据库进行访问。为增强数据访问的安全性,也是为了提高代码编写效率、方便数据访问代码的统一修改,减少代码编写错误,在这里设计和实现了一个专门用于数据访问的基础类Base(其命名空间为DataAccess,对应于第三章图3.4中的DataAccess类包),对数据库的读写操作则以类方法(操作函数)的形式出现。这样,在需要对数据库进行读写操作时,只要创建一个Base类对象,并调用对象的相应操作即可。
下面给出了Base类所包含的主要方法(操作),部分核心方法给出了主要实现代码:
//BaseCode.cs文件
......
namespace DataAccess
{
public class Base
{
private SqlConnection mAppCon = null;//数据库连接对象
private string SqlErrDes = "";//数据库访问错误描述字符串
public Base()
{
mAppCon = new SqlConnection();
......
//使用ASP.NET配置文件Web.config中的数据库连接配置字符串
//......
//<configuration>
// <appSettings>
// <add key="DBsqlConn" value="data source=(local);initial
// catalog=myworkflow;password=mxh;user id=mxh;persist security
// info=True;"/>
// </appSettings>
//......
string connstring = ConfigurationSettings.AppSettings["DBsqlConn"];
mAppCon.ConnectionString = connstring;
}
//执行sql修改、添加、删除操作
public bool SQLExeNonQuery( string Sql )
{
try
{
//打开数据连接
if( mAppCon.State != System.Data.ConnectionState.Open )
mAppCon.Open();
SqlCommand cmd = new SqlCommand( Sql , mAppCon );
cmd.ExecuteNonQuery();
mAppCon.Close();
return true;
}
catch(System.Exception ex)
{
//关闭数据库连接
if( mAppCon.State == System.Data.ConnectionState.Open )
mAppCon.Close();
//设置类对象属性--sql操作异常描述字符串
SqlErrDes = ex.Message;
return false;
}