Exemplo n.º 1
0
        public virtual string Write(SQInsertFromQuery q)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("INSERT INTO " + GetSafeObjectName(q.Table.Actual.Write(this)));
            sb.AppendLine("(");
            for (int i = 0; i < q.SetPairs.Count; i++)
            {
                SQSetQueryPair pair = q.SetPairs[i];
                sb.AppendLine((i == 0 ? "\t" : "\t,") + GetSafeObjectName(pair.Left));
            }
            sb.AppendLine(")");
            sb.AppendLine("SELECT");
            for (int i = 0; i < q.SetPairs.Count; i++)
            {
                SQSetQueryPair pair = q.SetPairs[i];
                sb.AppendLine((i == 0 ? "\t" : "\t,") + pair.Right);
            }

            sb.AppendLine("FROM " + Write(q.From));
            if (q.Condition != null)
            {
                sb.AppendLine("WHERE " + Write(q.Condition));
            }

            return(sb.ToString());
        }
Exemplo n.º 2
0
        public virtual string Write(SQInsertQuery q)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("INSERT INTO " + GetSafeObjectName(q.Table.Actual.Write(this)));
            sb.AppendLine("(");
            for (int i = 0; i < q.SetPairs.Count; i++)
            {
                SQSetQueryPair pair = q.SetPairs[i];
                sb.AppendLine((i == 0 ? "\t" : "\t,") + GetSafeObjectName(pair.Left));
            }
            sb.AppendLine(")");
            sb.AppendLine("VALUES");
            sb.AppendLine("(");
            for (int i = 0; i < q.SetPairs.Count; i++)
            {
                SQSetQueryPair pair = q.SetPairs[i];
                sb.AppendLine((i == 0 ? "\t" : "\t,") + pair.Right);
            }
            sb.AppendLine(")");

            return(sb.ToString());
        }
Exemplo n.º 3
0
        public virtual string Write(SQUpdateQuery q)
        {
            StringBuilder sb = new StringBuilder();

            string fromClause = "";

            if (q.Join != null)
            {
                fromClause = string.Format("\r\nFROM {0} {1}",
                                           GetSafeObjectName(q.UpdateTable.Actual.Write(this)) + (string.IsNullOrEmpty(q.UpdateTable.Alias) ? "" : " AS " + q.UpdateTable.Alias),
                                           Write(q.Join));
            }

            // use the alias if there should be a from clause and the
            // table's alias is set
            string updateObject = !string.IsNullOrEmpty(fromClause) && !string.IsNullOrEmpty(q.UpdateTable.Alias) ? q.UpdateTable.Alias : GetSafeObjectName(q.UpdateTable.Actual.Write(this));

            sb.AppendLine(string.Format("UPDATE {0} SET", updateObject));
            for (int i = 0; i < q.SetPairs.Count; i++)
            {
                SQSetQueryPair pair = q.SetPairs[i];
                sb.AppendLine((i == 0 ? "\t" : "\t,") + string.Format("{0} = {1}", GetSafeObjectName(pair.Left), pair.Right));
            }

            if (!string.IsNullOrEmpty(fromClause))
            {
                sb.AppendLine(fromClause);
            }

            if (q.Condition != null)
            {
                sb.AppendLine("WHERE " + Write(q.Condition));
            }

            return(sb.ToString());
        }