自己动手写ASP.NET ORM框架(二):AdoHelper支持多数据库操作的封装(2)

在上一篇文章中已经分析了AdoHelper的部分代码,接下来将继续分析剩余的部分代码,这里分析ExecuteNonQuery方法的实现,代码块1-1:

// <summary>//通过提供的参数,执行无结果集的数据库操作命令// 并返回执行数据库操作所影响的行数。// </summary>// <param name="connectionString">数据库连接字符串</param>// <param name="commandType">执行命令的类型(存储过程或T-SQL,等等)</param>// <param name="commandText">存储过程名称或者T-SQL命令行<</param>// <param name="commandParameters">执行命令所需的参数数组</param>// <returns>返回通过执行命令所影响的行数</returns>public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params IDbDataParameter[] commandParameters){    IDbCommand cmd = DbFactory.CreateDbCommand();    using (IDbConnection conn = DbFactory.CreateDbConnection(connectionString))    {        PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);        int val = cmd.ExecuteNonQuery();        cmd.Parameters.Clear();        return val;    }}//=============================================================================================public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText){    IDbCommand cmd = DbFactory.CreateDbCommand();    using (IDbConnection conn = DbFactory.CreateDbConnection(connectionString))    {        PrepareCommand(cmd, conn, null, cmdType, cmdText, null);        int val = cmd.ExecuteNonQuery();        cmd.Parameters.Clear();        return val;    }}//=============================================================================================public static int ExecuteNonQuery(IDbConnection connection, CommandType cmdType, string cmdText, params IDbDataParameter[] commandParameters){    IDbCommand cmd = DbFactory.CreateDbCommand();    PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);    int val = cmd.ExecuteNonQuery();    cmd.Parameters.Clear();    return val;}//=============================================================================================public static int ExecuteNonQuery(IDbConnection connection, CommandType cmdType, string cmdText){    IDbCommand cmd = DbFactory.CreateDbCommand();    PrepareCommand(cmd, connection, null, cmdType, cmdText, null);    int val = cmd.ExecuteNonQuery();    cmd.Parameters.Clear();    return val;}//=============================================================================================// <summary>//通过提供的参数,执行无结果集返回的数据库操作命令//并返回执行数据库操作所影响的行数。// </summary>// <remarks>// e.g.:  //  int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));// </remarks>// <param name="trans">sql事务对象</param>// <param name="commandType">执行命令的类型(存储过程或T-SQL,等等)</param>// <param name="commandText">存储过程名称或者T-SQL命令行<</param>// <param name="commandParameters">执行命令所需的参数数组</param>// <returns>返回通过执行命令所影响的行数</returns>public static int ExecuteNonQuery(IDbTransaction trans, CommandType cmdType, string cmdText, params IDbDataParameter[] commandParameters){    IDbConnection conn = null;    if (trans == null)    {        conn = DbFactory.CreateDbConnection(ConnectionString);    }    else     {        conn = trans.Connection;    }    IDbCommand cmd = DbFactory.CreateDbCommand();    PrepareCommand(cmd, conn, trans, cmdType, cmdText, commandParameters);    int val = cmd.ExecuteNonQuery();    cmd.Parameters.Clear();    return val;}//=============================================================================================public static int ExecuteNonQuery(IDbTransaction trans, CommandType cmdType, string cmdText){    IDbCommand cmd = DbFactory.CreateDbCommand();    PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, null);    int val = cmd.ExecuteNonQuery();    cmd.Parameters.Clear();    return val;}//=============================================================================================

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 存储过程
, 命令
, 代码
, 分析
, 自己动手写操作系统
, 部分
多数据库操作
,以便于您获取更多的相关知识。

时间: 2024-07-29 02:51:17

自己动手写ASP.NET ORM框架(二):AdoHelper支持多数据库操作的封装(2)的相关文章

自己动手写ASP.NET ORM框架(三):关系映射配置—Table属性

在上一篇随笔中已经完成了ADO.NET操作数据库的封装,并已经支持多数据库,只需要在 配置文件中指定数据库类型即可,本节主要完成对象与数据库表的关系映射配置. 下面看表名的映射配置代码块1-1: [Table(Name="Student")] public class StudentEntity { //...........省略 } 在类上面用[Table(name = "Student")]属性来配置,表示该实体类StudentEntity与数 据库中的Stud

自己动手写ASP.NET ORM框架(一):目标效果预览

最终实现后达到的效果,只需写少量代码就可实现CURD操作. DAL层代码: StudentDAL代码 public class StudentDAL { EntityManager entityManager = EntityManagerFactory.CreateEntityManager(); public StudentDAL() { } public StudentDAL(IDbTransaction transaction) { entityManager.Transaction =

自己动手写ASP.NET ORM框架(六):实现查询功能FindById方法

通过配置实体与表的关系映射后,就可以实现对表的操作了,接下来实现简单对象的新增 功能.下面代码1-1是定义的操作数据对象方法的接口: using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; namespace System.Orm.EntityManager { public interface EntityManager

自己动手写ASP.NET ORM框架(五):关系映射配置—Column属性

这次将完成最后一个自定义属性功能Column,在讲Column实现之前先看看Student表的结构 如下: create table student ( studentid VARCHAR2(40), studentno VARCHAR2(40), name VARCHAR2(40), address VARCHAR2(40), telphone VARCHAR2(40) ) 然后来看看Column自定义属性的具体用法代码1-1: using System; using System.Data;

自己动手写ASP.NET ORM框架(四):关系映射配置—Id属性

上一篇中完成了Table自定义属性的功能,现在来完成Id,因为一张表最主要的是结构就 是表名(Table name).主键(Id).列(Column).主键生成策略. Id自定义属性的用法代码块1-1: [Table(name="Student")] public class StudentEntity { private string stuid; [Id(Name = "studentid", Strategy = GenerationType.SEQUENCE

自己动手写ASP.NET ORM框架(七):实现新增功能Save方法

在上一篇中讲了根据ID查询的功能FindById方法,接下来将实现Save方法的功能,代码如 下1-1: #region 将实体数据保存到数据库 public int Save<T>(T entity) { //从实体类中获取新增数据所需的表信息存于TableInfo对象中 TableInfo tableInfo = DbEntityUtils.GetTableInfo (entity,DbOperateType.INSERT); //根据tableInfo对象中的数据生成新增的SQL语句 s

自己动手写ASP.NET ORM框架(九):实现删除功能Remove方法

前面简单的修改功能已经实现了,下面是实现删除功能,代码1-1如下: #region 删除实体对应数据库中的数据 public int Remove<T>(T entity) { TableInfo tableInfo = DbEntityUtils.GetTableInfo(entity, DbOperateType.DELETE); string strSql = DbEntityUtils.GetDeleteByIdSql(tableInfo); IDbDataParameter[] pa

自己动手写ASP.NET ORM框架(八):实现修改功能Update方法

前面一节中已经实现了简单的新增功能,下面来实现修改功能,代码如下1-1: #region 将实体数据修改到数据库 public int Update<T>(T entity) { TableInfo tableInfo = DbEntityUtils.GetTableInfo (entity,DbOperateType.UPDATE); string strSql = DbEntityUtils.GetUpdateSql(tableInfo); IDbDataParameter[] parms

ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库

原文:ASP.NET MVC 使用 Petapoco 微型ORM框架+NpgSql驱动连接 PostgreSQL数据库 前段时间在园子里看到了小蝶惊鸿 发布的有关绿色版的Linux.NET--"Jws.Mono".由于我对.Net程序跑在Linux上非常感兴趣,自己也看了一些有关mono的资料,但是一直没有时间抽出时间来研究这个,小蝶惊鸿的博客又激起了我的兴趣,我花了四天的时间,终于在Liunx上跑起了属于我自己的应用程序,其中数据库使用到了PostgreSQL数据库.对于数据库的选用