/************************************************************************************ * * Umbraco Data Layer * MIT Licensed work * ©2008 Ruben Verborgh * ***********************************************************************************/ using System; using System.Data; using System.Data.SqlClient; using System.Xml; using SH = Microsoft.ApplicationBlocks.Data.SqlHelper; namespace umbraco.DataLayer.SqlHelpers.SqlServer { /// /// Sql Helper for an SQL Server database. /// public class SqlServerHelper : SqlHelper { /// /// Initializes a new instance of the class. /// /// The connection string. public SqlServerHelper(string connectionString) : base(connectionString) { m_Utility = new SqlServerUtility(this); } /// /// Creates a new parameter for use with this specific implementation of ISqlHelper. /// /// Name of the parameter. /// Value of the parameter. /// A new parameter of the correct type. /// Abstract factory pattern public override IParameter CreateParameter(string parameterName, object value) { return new SqlServerParameter(parameterName, value); } /// /// Executes a command that returns a single value. /// /// The command text. /// The parameters. /// The return value of the command. protected override object ExecuteScalar(string commandText, SqlParameter[] parameters) { return SH.ExecuteScalar(ConnectionString, CommandType.Text, commandText, parameters); } /// /// Executes a command and returns the number of rows affected. /// /// The command text. /// The parameters. /// /// The number of rows affected by the command. /// protected override int ExecuteNonQuery(string commandText, SqlParameter[] parameters) { return SH.ExecuteNonQuery(ConnectionString, CommandType.Text, commandText, parameters); } /// /// Executes a command and returns a records reader containing the results. /// /// The command text. /// The parameters. /// /// A data reader containing the results of the command. /// protected override IRecordsReader ExecuteReader(string commandText, SqlParameter[] parameters) { return new SqlServerDataReader(SH.ExecuteReader(ConnectionString, CommandType.Text, commandText, parameters)); } } }