コード例 #1
0
        /// <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();
                }
            }
        }
コード例 #2
0
        /// <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());
                }
            }
        }