Пример #1
0
		/// <summary>
		/// Cria uma nova consulta SQL, a partir da origem especificada.
		/// </summary>
		/// <param name="fields">Os campos</param>
		/// <param name="source">A origem</param>
		/// <param name="condition">A condição</param>
		/// <param name="order">A ordem</param>
		public SqlQuery(string[] fields, SqlSource source, SqlCondition condition, SqlOrder order)
		{
			if (fields != null)
				this.fields.AddRange(fields);
			this.source = source;
			this.condition = condition;
			this.order = order;
		}
Пример #2
0
 /// <summary>
 /// Cria uma nova consulta SQL, a partir da origem especificada.
 /// </summary>
 /// <param name="fields">Os campos</param>
 /// <param name="source">A origem</param>
 /// <param name="condition">A condição</param>
 /// <param name="order">A ordem</param>
 public SqlQuery(string[] fields, SqlSource source, SqlCondition condition, SqlOrder order)
 {
     if (fields != null)
     {
         this.fields.AddRange(fields);
     }
     this.source    = source;
     this.condition = condition;
     this.order     = order;
 }
Пример #3
0
        /// <summary>
        /// Realiza um INNER JOIN com outra tabela.
        /// </summary>
        /// <param name="tableName">A tabela com a qual o JOIN será realizado</param>
        /// <param name="cond">A condição</param>
        public SqlTableSource Join(string tableName, SqlCondition cond)
        {
            if (joins == null)
            {
                joins = new ArrayList();
            }

            joins.Add(new SqlJoin(tableName, cond));

            return(this);
        }
Пример #4
0
		private static SqlCondition MergeConditions(SqlCondition cLeft, SqlCondition cRight, SqlLogicOperation op)
		{
			if (cLeft == null)
				return cRight;
			if (cRight == null)
				return cLeft;
	
#if SQL_OPTIMIZATION
			if (cLeft is SqlComplexCondition) 
			{
				SqlComplexCondition ccLeft = (SqlComplexCondition) cLeft;
				if (ccLeft.Operation == op)
					return ccLeft.AppendEnd(cRight);
			}
#endif
	
			return new SqlComplexCondition(op, cLeft, cRight);
		}
Пример #5
0
        private static SqlCondition MergeConditions(SqlCondition cLeft, SqlCondition cRight, SqlLogicOperation op)
        {
            if (cLeft == null)
            {
                return(cRight);
            }
            if (cRight == null)
            {
                return(cLeft);
            }

#if SQL_OPTIMIZATION
            if (cLeft is SqlComplexCondition)
            {
                SqlComplexCondition ccLeft = (SqlComplexCondition)cLeft;
                if (ccLeft.Operation == op)
                {
                    return(ccLeft.AppendEnd(cRight));
                }
            }
#endif

            return(new SqlComplexCondition(op, cLeft, cRight));
        }
 /// <summary>
 /// Cria uma nova condição que nega outra condição.
 /// </summary>
 /// <param name="cond">A condição que deve ser negada.</param>
 public SqlNegatedCondition(SqlCondition cond)
 {
     this.cond = cond;
 }
Пример #7
0
		/// <summary>
		/// Preenche a tabela de dados especificada, com os critérios especificados.
		/// </summary>
		/// <param name="source">O nome da origem. Formato: <c>dataTable:tabela_ou_view</c></param>
		/// <param name="cond">O critério de seleção dos registros.</param>
		/// <param name="orderBy">A ordem</param>
		public int FillData(string source, SqlCondition cond, SqlOrder orderBy)
		{
			FillInfo fi = new FillInfo(source);
			return FillData(fi.DataTable, new SqlQuery(new SqlTableSource(fi.Source), cond, orderBy));
		}
Пример #8
0
 /// <summary>
 /// Cria um JOIN com a tabela e condições especificadas.
 /// </summary>
 /// <param name="type">O tipo de JOIN</param>
 /// <param name="tableName">A tabela</param>
 /// <param name="cond">A condição para o join</param>
 public SqlJoin(SqlJoin.Type type, string tableName, SqlCondition cond)
 {
     this.tableName = tableName;
     this.cond      = cond;
     this.type      = type;
 }
Пример #9
0
 /// <summary>
 /// Cria uma nova consulta SQL, a partir da origem especificada.
 /// </summary>
 /// <param name="source">A origem</param>
 /// <param name="condition">A condição</param>
 public SqlQuery(SqlSource source, SqlCondition condition)
     : this(null, source, condition, null)
 {
 }
		/// <summary>
		/// Adiciona uma condição ao fim desta.
		/// </summary>
		/// <param name="cond">A condição a ser adicionada</param>
		/// <returns>Esta mesma condição complexa</returns>
		public SqlComplexCondition AppendEnd(SqlCondition cond)
		{
			conds.Add(cond);
			return this;
		}
		/// <summary>
		/// Adiciona uma condição ao início desta.
		/// </summary>
		/// <param name="cond">A condição a ser adicionada</param>
		/// <returns>Esta mesma condição complexa</returns>
		public SqlComplexCondition AppendStart(SqlCondition cond)
		{
			conds.Insert(0, cond);
			return this;
		}
		/// <summary>
		/// Cria uma nova condição complexa SQL.
		/// </summary>
		/// <param name="op">O operador (pode ser E ou OU)</param>
		/// <param name="cond1">A condição da esquerda</param>
		/// <param name="cond2">A condição da direita</param>
		public SqlComplexCondition(SqlLogicOperation op, SqlCondition cond1, SqlCondition cond2) 
		{
			this.op = op;
			conds.Add(cond1);
			conds.Add(cond2);
		}
 /// <summary>
 /// Adiciona uma condição ao fim desta.
 /// </summary>
 /// <param name="cond">A condição a ser adicionada</param>
 /// <returns>Esta mesma condição complexa</returns>
 public SqlComplexCondition AppendEnd(SqlCondition cond)
 {
     conds.Add(cond);
     return(this);
 }
 /// <summary>
 /// Adiciona uma condição ao início desta.
 /// </summary>
 /// <param name="cond">A condição a ser adicionada</param>
 /// <returns>Esta mesma condição complexa</returns>
 public SqlComplexCondition AppendStart(SqlCondition cond)
 {
     conds.Insert(0, cond);
     return(this);
 }
 /// <summary>
 /// Cria uma nova condição complexa SQL.
 /// </summary>
 /// <param name="op">O operador (pode ser E ou OU)</param>
 /// <param name="cond1">A condição da esquerda</param>
 /// <param name="cond2">A condição da direita</param>
 public SqlComplexCondition(SqlLogicOperation op, SqlCondition cond1, SqlCondition cond2)
 {
     this.op = op;
     conds.Add(cond1);
     conds.Add(cond2);
 }
Пример #16
0
		/// <summary>
		/// Cria uma nova consulta SQL, a partir da origem especificada.
		/// </summary>
		/// <param name="source">A origem</param>
		/// <param name="condition">A condição</param>
		/// <param name="orderBy">A ordem</param>
		public SqlQuery(SqlSource source, SqlCondition condition, SqlOrder orderBy)
			: this(null, source, condition, orderBy)
		{
		}
Пример #17
0
		/// <summary>
		/// Cria uma nova consulta SQL, a partir da origem especificada.
		/// </summary>
		/// <param name="source">A origem</param>
		/// <param name="condition">A condição</param>
		public SqlQuery(SqlSource source, SqlCondition condition)
			: this(null, source, condition, null)
		{
		}
Пример #18
0
		/// <summary>
		/// Realiza um INNER JOIN com outra tabela.
		/// </summary>
		/// <param name="tableName">A tabela com a qual o JOIN será realizado</param>
		/// <param name="cond">A condição</param>
		public SqlTableSource Join(string tableName, SqlCondition cond) 
		{
			if (joins == null)
				joins = new ArrayList();

			joins.Add(new SqlJoin(tableName, cond));

			return this;
		}
Пример #19
0
 /// <summary>
 /// Cria uma nova consulta SQL, a partir da origem especificada.
 /// </summary>
 /// <param name="source">A origem</param>
 /// <param name="condition">A condição</param>
 /// <param name="orderBy">A ordem</param>
 public SqlQuery(SqlSource source, SqlCondition condition, SqlOrder orderBy)
     : this(null, source, condition, orderBy)
 {
 }
Пример #20
0
		/// <summary>
		/// Cria um JOIN com a tabela e condições especificadas.
		/// </summary>
		/// <param name="type">O tipo de JOIN</param>
		/// <param name="tableName">A tabela</param>
		/// <param name="cond">A condição para o join</param>
		public SqlJoin(SqlJoin.Type type, string tableName, SqlCondition cond)
		{
			this.tableName = tableName;
			this.cond = cond;
			this.type = type;
		}
Пример #21
0
		/// <summary>
		/// Cria um INNER JOIN com a tabela e condições especificadas.
		/// </summary>
		/// <param name="tableName">A tabela</param>
		/// <param name="cond">A condição para o join</param>
		public SqlJoin(string tableName, SqlCondition cond) 
			: this(SqlJoin.Type.Inner, tableName, cond) { }
		/// <summary>
		/// Cria uma nova condição que nega outra condição.
		/// </summary>
		/// <param name="cond">A condição que deve ser negada.</param>
		public SqlNegatedCondition(SqlCondition cond) 
		{
			this.cond = cond;
		}
Пример #23
0
 /// <summary>
 /// Cria um INNER JOIN com a tabela e condições especificadas.
 /// </summary>
 /// <param name="tableName">A tabela</param>
 /// <param name="cond">A condição para o join</param>
 public SqlJoin(string tableName, SqlCondition cond)
     : this(SqlJoin.Type.Inner, tableName, cond)
 {
 }
Пример #24
0
		/// <summary>
		/// Preenche a tabela de dados especificada, com os critérios especificados.
		/// </summary>
		/// <param name="source">O nome da origem. Formato: <c>dataTable:tabela_ou_view</c></param>
		/// <param name="cond">O critério de seleção dos registros.</param>
		public int FillData(string source, SqlCondition cond)
		{
			return FillData(source, cond, null);
		}