同创新B8收费系统类库说明
1 同创类库说明
同创类库顶级命名空间为TongChuang,其下再划分为Data 与
Common二个子命名空间。所有与数据相关的操作在Data命名空
间 下,所有非数据相关的操作在Common命名空间下。
1.2 类库中ORM的使用方法介绍
本类库中封装了ORM(Object Ralation Mapping)实现的方法,通过ORM的思想我们在开发中节省大量的时间不用自己去写常用的Sql语句(Insert,Update),现就涉及到几个类介绍其中的一些方法:
1.2.1 TongChuang.Data.ORM.ControlsBinding中的方法
#region "Set访问器"
/// <summary>
/// 把容器里面的控件值绑定到对应实体的对应属性中.
/// </summary>
/// <param name="Container">容器对象</param>
/// <param name="EtyOj">实体对象</param>
/// <returns>返回绑定值后的实体对象</returns>
public object ControlsSetBind(Control Container, object EtyOj){…………}
#endregion
#region "Get访问器"
/// <summary>
/// 把实体中属性值绑定到指定对象的相应控件的属性中
/// </summary>
/// <param name="Container">容器对象</param>
/// <param name="EtyOj">实体对象</param>
public void ControlsGetBind(Control Container, object EtyOj){…………}
#endregion
/// <summary>
/// 获取符合条件的一条记录,并把相应的值赋给实体,返回实体对象
/// </summary>
/// <param name="EtyOj">实体对象</param>
/// <param name="Condition">查询条件</param>
/// <returns>返回赋值后的实体对象</returns>
public object GetEtyValueObj(object EtyOj, string Condition){…………}
/// <summary>
/// 把Table中的一条记录,转换成对应实体中进行封装,返回实体对象
/// </summary>
/// <param name="EtyOj">实体对象</param>
/// <param name="dt">DataTable</param>
/// <returns>返回实体对象</returns>
public object SetTableToEty(object EtyOj, DataTable dt){…………..}
1.2.2 TongChuang.Data.ORM.EstablishSql中的方法
#region 插入操作
/// <summary>
/// 插入操作
/// </summary>
/// <param name="etyOj">实体对象</param>
/// <returns>如果数据库是Sql Server且实体对象对应的表具有自增字段,
/// 则返回插入后的自增值,否则返回受影响的行数</returns>
public int Insert(object etyOj){…………………}
/// <summary>
/// 通过事务来执行插入操作
/// </summary>
/// <param name="etyOj">实体对象</param>
/// <param name="conn">数据库连接对象</param>
/// <param name="trans">事务对象</param>
/// <returns>如果数据库是Sql Server且实体对象对应的表具有自增字段,
/// 则返回插入后的自增值,否则返回受影响的行数</returns>
public int Insert(object etyOj, IDbConnection conn, IDbTransaction trans)
{……….}
#endregion
#region 更新操作
/// <summary>
/// 更新操作
/// </summary>
/// <param name="etyOj">对应表中的实体对象</param>
/// <param name="condition">更新条件(若当前更新表中有主键则Condition可为空,更新时会自动根据主键值进行更新)</param>
/// <returns>返回受影响的行数</returns>
public int Update(object etyOj, string condition){……………}
/// <summary>
/// 通过事务来执行更新操作
/// </summary>
/// <param name="etyOj">对应表中的实体对象</param>
/// <param name="condition">更新条件(若当前更新表中有主键则Condition可为空,更新时会自动根据主键值进行更新)</param>
/// <param name="conn">数据库连接对象</param>
/// <param name="trans">事务对象</param>
/// <returns>返回受影响的行数</returns>
public int Update(object etyOj, string condition, IDbConnection conn, IDbTransaction trans){…………..}
#endregion 更新
#region "删除"
/// <summary>
/// 删除操作
/// </summary>
/// <param name="etyOj">对应表中的实体对象</param>
/// <param name="condition">删除条件</param>
/// <returns>返回受影响的行数</returns>
public int Delete(object etyOj, string condition){…………}
/// <summary>
/// 删除操作
/// </summary>
/// <param name="etyOj">对应表中的实体对象</param>
/// <param name="condition">删除条件</param>
/// <param name="conn">数据库连接对象</param>
/// <param name="trans">事务对象</param>
/// <returns></returns>
public int Delete(object etyOj, string condition, IDbConnection conn, IDbTransaction trans){…………………….}
#endregion ”删除”
1.2.3 TongChuang.Data.DBOperator类中的方法
此类设涉及到与数据库连接的问题,在Web.config中应该如下
配置:
<connectionStrings>
<add name="SQLConnString" connectionString="Data Source=192.168.1.22;
Initial Catalog=xfmis;Persist Security Info=True;User ID=com;
Password=cm" providerName="System.Data.SqlClient" />
<add name="DbType" connectionString="Sql2000" />
(注意:根据数据库的不同Sql2000可替换成Sql2005,Access,Oracle等)
</connectionStrings>
类中的方法有:
/// <summary>
/// 创建连接对象
/// </summary>
/// <returns>返回创建的连接对象</returns>
public IDbConnection GetConnection(){………..}
#region "ExecuteDataSet"
/// 执行sql语句,返回DataSet数据集
public DataSet ExecuteDataSet(string cmdText){…….}
/// 指定命令类型,执行sql语句,返回DataSet数据集
public DataSet ExecuteDataSet(string cmdText,CommandType cmdType){.}
/// 指定命令类型和参数,执行sql语句,返回DataSet数据集
public DataSet ExecuteDataSet(string cmdText, CommandType cmdType,
IDbDataParameter []DbParameters){…………}
#endregion
#region "ExecuteDataTable"
/// 执行sql语句,返回DataTable数据集
public DataTable ExecuteDataTable(string cmdText){…………}
/// 指定命令类型,执行sql语句,返回DataTable数据集
public DataTable ExecuteDataTable(string cmdText,CommandType
cmdType){…………………..}
/// 指定命令类型和参数,执行sql语句,返回DataTable数据集
public DataTable ExecuteDataTable(string cmdText, CommandType
cmdType,IDbDataParameter []DbParameters){……………….}
#endregion
#region "ExecuteNoQuery"
/// 执行sql语句,返回受影响的记录数
public int ExecuteNoQuery(string cmdText){……………}
/// 通过事物来执行sql语句,返回受影响的记录数
public int ExecuteNoQuery(string cmdText, IDbConnection conn,
IDbTransaction trans){…………….}
/// 指定命令类型,执行sql语句,返回受影响的记录数
public int ExecuteNoQuery(string cmdText,CommandType cmdType){…….}
/// 根据指定的命令以及类型,使用事物来执行操作,返回受影响的记录数
public int ExecuteNoQuery(string cmdText, CommandType cmdType,
IDbConnection conn, IDbTransaction trans){……………}
/// 指定命令类型和参数,执行sql语句,返回受影响的记录数
public int ExecuteNoQuery(string cmdText, CommandType cmdType,
IDbDataParameter[] DbParameters){………………..}
/// 根据指定的命令以及类型,利用事物来执行操作
public int ExecuteNoQuery(string cmdText, CommandType cmdType, IDbDataParameter[] DbParameters,IDbConnection conn,
IDbTransaction trans){…………………..}
#endregion
#region "ExecuteScalar"
/// 执行sql语句,返回第一行第一列的值
public object ExecuteScalar(string cmdText){………}
/// 通过事物来执行sql语句,返回第一行第一列的值
public object ExecuteScalar(string cmdText, IDbConnection conn,
IDbTransaction trans){………………….}
/// 指定命令类型,执行sql语句,返回第一行第一列的值
public object ExecuteScalar(string cmdText,CommandType cmdType){….}
/// 通过事务来执行命令语句,返回第一行一列的值
public object ExecuteScalar(string cmdText, CommandType cmdType,
IDbConnection conn, IDbTransaction trans){………}
/// 指定命令类型和参数,执行sql语句,返回第一行第一列的值
public object ExecuteScalar(string cmdText, CommandType cmdType,
IDbDataParameter []DbParameters){……………………}
/// 通过事务来执行命令语句,返回第一行第一列的值
public object ExecuteScalar(string cmdText, CommandType cmdType, IDbDataParameter[] DbParameters, IDbConnection conn,
IDbTransaction trans){…………….}
#endregion
#region "ExecuteTransaction"
/// 利用事物来执行一组命令语句
public bool ExecuteTransaction(string []cmdText)
#endregion