private void ProcessValue(StringBuilder sb, ValueSegment segment, QueryBuildInfo buildInfo) { sb.Append("?"); var param = new QueryExecParam(); param.Index = buildInfo.ExecInfo.Params.Count; param.Type = segment.Type; param.Value = segment.Values[0]; buildInfo.ExecInfo.Params.Add(param); }
private void ProcessBetween(StringBuilder sb, CompareSegment segment, QueryBuildInfo buildInfo, IDbLayer dbLayer) { sb.Append(" BETWEEN ? AND ? "); var valueSegment = (ValueSegment)segment.Right; object[] values = valueSegment.Values; for (int i = 0, valuesLength = 2; i < valuesLength; i++) { Object value = values[i]; var param = new QueryExecParam(); param.Index = buildInfo.ExecInfo.Params.Count; param.Type = valueSegment.Type; param.Value = value; buildInfo.ExecInfo.Params.Add(param); } }
private void ProcessInValues(StringBuilder sb, CompareSegment segment, QueryBuildInfo buildInfo) { sb.Append(" IN ("); var valueSegment = (ValueSegment)segment.Right; object[] values = valueSegment.Values; for (int i = 0, valuesLength = values.Length; i < valuesLength; i++) { Object value = values[i]; if (i > 0) { sb.Append(","); } sb.Append("?"); var param = new QueryExecParam(); param.Index = buildInfo.ExecInfo.Params.Count; param.Type = valueSegment.Type; param.Value = value; buildInfo.ExecInfo.Params.Add(param); } sb.Append(") "); }