/// <summary> /// Executes the non query. /// </summary> /// <param name="settings">The settings.</param> /// <param name="sql">The SQL.</param> /// <param name="parameters">The parameters.</param> public static void ExecuteNonQuery(this ConnectionStringSettings settings, string sql, IEnumerable <KeyValuePair <string, object> > parameters = null) { parameters = parameters ?? Enumerable.Empty <KeyValuePair <string, object> >(); var factory = settings.CreateFactory(); using (var conn = factory.CreateConnection()) { conn.ConnectionString = settings.ConnectionString; conn.Open(); using (var cmd = conn.CreateCommand()) { cmd.CommandTimeout = (int)Math.Round(MonahrqConfiguration.SettingsGroup.MonahrqSettings().LongTimeout.TotalSeconds); cmd.CommandText = sql; foreach (var p in parameters) { var prm = factory.CreateParameter(); prm.ParameterName = p.Key; prm.Value = p.Value; cmd.Parameters.Add(prm); } cmd.ExecuteNonQuery(); } } }
/// <summary> /// Executes the scalar. /// </summary> /// <param name="settings">The settings.</param> /// <param name="sql">The SQL.</param> /// <param name="parameters">The parameters.</param> /// <returns></returns> public static object ExecuteScalar(this ConnectionStringSettings settings, string sql, IEnumerable <KeyValuePair <string, object> > parameters = null) { parameters = parameters ?? Enumerable.Empty <KeyValuePair <string, object> >(); var factory = settings.CreateFactory(); using (var conn = factory.CreateConnection()) { conn.ConnectionString = settings.ConnectionString; conn.Open(); using (var cmd = conn.CreateCommand()) { cmd.CommandText = sql; foreach (var p in parameters) { var prm = factory.CreateParameter(); prm.ParameterName = p.Key; prm.Value = p.Value; cmd.Parameters.Add(prm); } return(cmd.ExecuteScalar()); } } }