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()); }
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()); }
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()); }