/// <summary> /// 创建 SQL 执行命令 /// </summary> /// <returns>The sql command.</returns> /// <param name="builder">Builder.</param> protected DbCommand CreateSqlCommand(CommandBuilder builder) { DbCommand command = connection.CreateCommand(); command.CommandText = builder.ToString(); command.Transaction = this.transaction; command.CommandTimeout = this.CommandTimeout; this.PrepareParameter(command, builder.Parameters); return(command); }
/// <summary> /// 执行带参数的非查询 SQL 语句,返回受影响的行数 /// </summary> /// <param name="sql">SQL 命令</param> /// <returns>受影响的行数</returns> /// <param name="parameters">Parameters.</param> public virtual int ExecuteNonQuery(CommandBuilder builder) { using (DbCommand command = connection.CreateCommand()) { command.CommandText = builder.ToString(); command.Transaction = this.transaction; this.PrepareParameter(command, builder.Parameters); return(command.ExecuteNonQuery()); } }
/// <summary> /// 执行带参数的 SQL 语句,返回查询结果中的第一行第一列的值 /// </summary> /// <param name="cmd">SQL 命令</param> /// <returns>查询结果中的第一行第一列的值</returns> /// <typeparam name="T">返回类型</typeparam> public virtual T ExecuteScalar <T>(CommandBuilder builder) { using (DbCommand command = connection.CreateCommand()) { command.CommandText = builder.ToString(); command.Transaction = this.transaction; this.PrepareParameter(command, builder.Parameters); return(command.ExecuteScalar().Cast <T>()); } }
/// <summary> /// 执行带参数 SQL 语句,返回一个 DataTable 对象 /// </summary> /// <param name="cmd">SQL 命令</param> /// <returns>DataSet 对象</returns> public virtual DataSet ExecuteDataSet(CommandBuilder builder) { using (DbCommand command = connection.CreateCommand()) { command.CommandText = builder.ToString(); command.Transaction = this.transaction; this.PrepareParameter(command, builder.Parameters); using (DbDataAdapter adapter = this.factory.CreateDataAdapter()) { adapter.SelectCommand = command; DataSet ds = new DataSet("DataSet1"); adapter.Fill(ds); return(ds); } } }