Пример #1
0
 public NpgQuery DeleteWhere(string table, IWhereOp whereOp)
 {
     var parameters = new List<NpgsqlParameter>();
     var text = string.Format("DELETE FROM {0} WHERE {1}",
         Quote(table),
         whereOp.Build(parameters));
     return new NpgQuery(text, parameters.ToArray());
 }
Пример #2
0
        public NpgQuery DeleteWhere(string table, IWhereOp whereOp)
        {
            var parameters = new List <NpgsqlParameter>();
            var text       = string.Format("DELETE FROM {0} WHERE {1}",
                                           Quote(table),
                                           whereOp.Build(parameters));

            return(new NpgQuery(text, parameters.ToArray()));
        }
Пример #3
0
        public NpgQuery UpdateWhere(string table, IWhereOp whereOp, string[] columns, object[] values)
        {
            var setParameters = new NpgsqlParameter[columns.Length];
            var set           = new string[columns.Length];

            for (var i = 0; i < set.Length; i++)
            {
                var column        = columns[i];
                var parameterName = SetParameterNamePrefix + column;
                set[i]           = Quote(column) + " = :" + parameterName;
                setParameters[i] = new NpgsqlParameter(parameterName, values[i]);
            }
            var parameters = new List <NpgsqlParameter>();
            var scriptRow  = string.Format(
                "UPDATE {0} SET {1} WHERE {2}",
                Quote(table),
                string.Join(", ", set),
                whereOp.Build(parameters));

            parameters.AddRange(setParameters);
            return(new NpgQuery(scriptRow, parameters.ToArray()));
        }
Пример #4
0
        public string Select(
            IList <NpgsqlParameter> parameters,
            string table, string[] columnsToReturn,
            IWhereOp whereOp,
            string[] columnsOfOrder,
            bool asc,
            int limit,
            bool distinct)
        {
            var text = new StringBuilder();

            text.Append("SELECT ");
            if (distinct)
            {
                text.Append("DISTINCT ");
            }
            text.AppendFormat(
                "{0} FROM {1}",
                string.Join(", ", columnsToReturn.Select(Quote)),
                Quote(table));
            if (whereOp != null)
            {
                text.AppendFormat(" WHERE {0}", whereOp.Build(parameters));
            }
            if (columnsOfOrder != null)
            {
                string sortDirection = asc ? " ASC" : " DESC";
                text.AppendFormat(
                    " ORDER BY {0}",
                    string.Join(", ", columnsOfOrder.Select(c => Quote(c) + sortDirection)));
            }

            if (limit != -1)
            {
                text.AppendFormat(" LIMIT {0}", limit);
            }
            return(text.ToString());
        }
Пример #5
0
 public string Select(
     IList<NpgsqlParameter> parameters,
     string table, string[] columnsToReturn,
     IWhereOp whereOp,
     string[] columnsOfOrder,
     bool asc,
     int limit,
     bool distinct)
 {
     var text = new StringBuilder();
     text.Append("SELECT ");
     if (distinct)
     {
         text.Append("DISTINCT ");
     }
     text.AppendFormat(
         "{0} FROM {1}",
         string.Join(", ", columnsToReturn.Select(Quote)),
         Quote(table));
     if (whereOp != null)
     {
         text.AppendFormat(" WHERE {0}", whereOp.Build(parameters));
     }
     if (columnsOfOrder != null)
     {
         var sortDirection = asc ? " ASC" : " DESC";
         text.AppendFormat(
             " ORDER BY {0}",
             string.Join(", ", columnsOfOrder.Select(c => Quote(c) + sortDirection)));
     }
     if (limit != -1)
     {
         text.AppendFormat(" LIMIT {0}", limit);
     }
     return text.ToString();
 }
Пример #6
0
 public NpgQuery UpdateWhere(string table, IWhereOp whereOp, string[] columns, object[] values)
 {
     var setParameters = new NpgsqlParameter[columns.Length];
     var set = new string[columns.Length];
     for (var i = 0; i < set.Length; i++)
     {
         var column = columns[i];
         var parameterName = SetParameterNamePrefix + column;
         set[i] = Quote(column) + " = :" + parameterName;
         setParameters[i] = new NpgsqlParameter(parameterName, values[i]);
     }
     var parameters = new List<NpgsqlParameter>();
     var scriptRow = string.Format(
         "UPDATE {0} SET {1} WHERE {2}",
         Quote(table),
         string.Join(", ", set),
         whereOp.Build(parameters));
     parameters.AddRange(setParameters);
     return new NpgQuery(scriptRow, parameters.ToArray());
 }
Пример #7
0
 public override string Build(IList <NpgsqlParameter> parameters)
 {
     return(string.Format("not ({0})", _op.Build(parameters)));
 }