protected Sql GetWith(Sql sql, string paramPrefix) { int length = withList.Count; if (length == 0) { return(sql.AddFormat("VALUES (NULL)")); } sql.AddFormat("({0}) VALUES (", string.Join(",", withList.Keys)); int i = 0; foreach (var with in withList) { DatabaseProvider.GetParameter(sql, paramPrefix + "v" + i, with.Value); DatabaseProvider.GetParameterValue(sql, paramPrefix + "v" + i); if (i + 1 < length) { sql.AddText(","); } else { sql.AddText(")"); } i++; } return(sql); //int i = 0, j = 0; //return sql // .AddFormat("({0}) VALUES ({1})", // string.Join(",", withList.Keys), // string.Join(",", withList.Values.Select(x => DatabaseProvider.GetParameterValue(paramPrefix + "v" + i++)))) // .AddParameters(withList.Select(x => DatabaseProvider.GetParameter(paramPrefix + "v" + j++, x.Value)).ToArray()); //return new Sql( // string.Format("({0}) VALUES ({1})", // string.Join(",", withList.Keys), // string.Join(",", withList.Values.Select(x => DatabaseProvider.GetParameterValue(paramPrefix + "v" + i++)))), // withList.Select(x => DatabaseProvider.GetParameter(paramPrefix + "v" + j++, x.Value)).ToArray()); //return string.Format("({0}) VALUES ({1})", // string.Join(",", withList.Keys), // string.Join(",", withList.Values.Select(x => "'" + x + "'")) //); }
protected Sql GetWith(Sql sql, string paramPrefix) { int length = withList.Count; if (length == 0) return sql.AddFormat("VALUES (NULL)"); sql.AddFormat("({0}) VALUES (", string.Join(",", withList.Keys)); int i = 0; foreach (var with in withList) { DatabaseProvider.GetParameter(sql, paramPrefix + "v" + i, with.Value); DatabaseProvider.GetParameterValue(sql, paramPrefix + "v" + i); if (i + 1 < length) sql.AddText(","); else sql.AddText(")"); i++; } return sql; //int i = 0, j = 0; //return sql // .AddFormat("({0}) VALUES ({1})", // string.Join(",", withList.Keys), // string.Join(",", withList.Values.Select(x => DatabaseProvider.GetParameterValue(paramPrefix + "v" + i++)))) // .AddParameters(withList.Select(x => DatabaseProvider.GetParameter(paramPrefix + "v" + j++, x.Value)).ToArray()); //return new Sql( // string.Format("({0}) VALUES ({1})", // string.Join(",", withList.Keys), // string.Join(",", withList.Values.Select(x => DatabaseProvider.GetParameterValue(paramPrefix + "v" + i++)))), // withList.Select(x => DatabaseProvider.GetParameter(paramPrefix + "v" + j++, x.Value)).ToArray()); //return string.Format("({0}) VALUES ({1})", // string.Join(",", withList.Keys), // string.Join(",", withList.Values.Select(x => "'" + x + "'")) //); }
//public override string ToString() //{ // return string.Format("{0} {1} '{2}'", Key, RelationToString(Relation), Value.ToString()); //} public override Sql GetCommandString(Sql sql, string prefix, int number) { if (IsValue) { return(Query.DatabaseProvider.GetParameterComparison(sql, Key, Relation, prefix + "w" + number)); } else { return(sql.AddFormat("{0} {1} {2}", Key, Relation.ToSql(), Value.ToString())); } //return Query.DatabaseProvider.GetParameterComparison(sql, Key, Relation, Value.ToString()); //return string.Format("{0} {1} @{2}", Key, RelationToString(Relation), number); }
public Sql GetSql(Sql sql, string tableAlias) { int length = whereList.Count; if (length == 0) { return(sql); } if (Type == JoinType.Inner) { sql.AddText("INNER JOIN "); } else if (Type == JoinType.Outer) { sql.AddText("LEFT OUTER JOIN "); } else { throw new NotImplementedException("Wrong JoinType: " + Type); } sql.AddFormat("{0} {1} ON ", TableName, tableAlias); for (int i = 0; i < length; i++) { //whereList[i].GetCommandParameter(sql, paramPrefix, i); whereList[i].GetCommandString(sql, "", i); if (i + 1 < length) { sql.AddText(" AND "); } } sql.AddText(" \r\n"); return(sql); }
internal override Sql GetParameterValue(Sql sql, string key) { return sql.AddFormat("@{0}", key); }
internal override Sql GetParameterComparison(Sql sql, string field, Relation relation, string key) { return sql.AddFormat("{0} {1} @{2}", field, relation.ToSql(), key); }