void GetCondition <T>(string col, T val, string andor = AndOr.And, string op = Op.Eq, bool isFunc = false) { if (IsKeyCondition) { return; } if (string.IsNullOrWhiteSpace(col)) { return; } // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(andor); } if (isFunc) { OtherCondition.Append(DB.SetColumnFunc(col, val)); } else { OtherCondition.Append(DB.GetCondition(col, op)); Params.Add(DB.GetParam(col, val)); } }
/// <summary> /// 原生条件字符串 /// </summary> /// <param name="sqlString">id=? or name=?</param> /// <param name="args"></param> /// <returns></returns> public Sql Where(string sqlString, params object[] args) { if (string.IsNullOrWhiteSpace(sqlString)) { throw new Exception("数据库操作命令不能为空"); } var cmd = DB.GetRawSql(" " + sqlString + " ", args); if (cmd.SqlParams != null) { Params.AddRange(cmd.SqlParams); } // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(AndOr.And); } OtherCondition.Append(cmd.SqlString); return(this); }
public Sql LP() { // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(AndOr.And); } OtherCondition.Append(" ( "); hasParenthesis = true; return(this); }
void GetBetweenCondition <T>(string colName, T t1, T t2, string andor = AndOr.And, string op = Op.Between) { if (IsKeyCondition) { return; } if (string.IsNullOrWhiteSpace(colName) || t1 == null || t2 == null) { return; } // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(andor); } OtherCondition.Append(string.Concat("(", DB._RestrictPrefix, colName, DB._RestrictPostfix, op, t1, " AND ", t2, ")")); }
void GetInCondition <T>(string colName, string andor = AndOr.And, string op = Op.In, params T[] args) { if (IsKeyCondition) { return; } if (string.IsNullOrWhiteSpace(colName) || args == null || args.Length == 0) { return; } // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(andor); } OtherCondition.Append(string.Concat("(", DB._RestrictPrefix, colName, DB._RestrictPostfix, op, "(", string.Join(",", args), "))")); }
void GetNullCondition(string col, string andor = AndOr.And, bool isnull = true) { if (IsKeyCondition) { return; } if (string.IsNullOrWhiteSpace(col)) { return; } // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(andor); } OtherCondition.Append(string.Concat("(", DB._RestrictPrefix, col, DB._RestrictPostfix, isnull ? Op.Null : Op.NotNull, ")")); }
bool GetLikeCondition(string col, string val, string andor = AndOr.And, string op = Op.Like) { if (IsKeyCondition) { return(false); } if (string.IsNullOrWhiteSpace(col) || string.IsNullOrWhiteSpace(val)) { return(false); } // 如果有左括号,忽略逻辑运算符 if (hasParenthesis) { hasParenthesis = false; } else if (OtherCondition.Length > 0) { OtherCondition.Append(andor); } OtherCondition.Append(string.Concat("(", DB._RestrictPrefix, col, DB._RestrictPostfix, op, DB._ParameterPrefix, col, ")")); return(true); }
public void ShowSQLString() { ShowSQLString(OtherCondition.ToString(), Params); }
public Sql RP() { OtherCondition.Append(" ) "); return(this); }