示例#1
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (orList.Count > 0 || andList.Count > 0)
     {
         string sb = string.Empty;
         if (andList.Count > 0)
         {
             FieldValuesSQL fv = new FieldValuesSQL(" and ");
             foreach (ISQL sql in andList)
             {
                 fv.AddSQLCondition(sql);
             }
             sb = sb + fv.GetSQLString(type);
         }
         if (orList.Count > 0)
         {
             FieldValuesSQL fv = new FieldValuesSQL(" or ");
             foreach (ISQL sql in orList)
             {
                 fv.AddSQLCondition(sql);
             }
             if (andList.Count > 0)
             {
                 sb = sb + " and (" + fv.GetSQLString(type) + ")";
             }
             else
             {
                 sb = fv.GetSQLString(type);
             }
         }
         return("(" + sb + ")");
     }
     return(string.Empty);
 }
示例#2
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (value != null && field != null)
     {
         string v = " '" + SQLUtils.GetStandardSQLValue(value) + "' ";
         if (number)
         {
             v = " " + SQLUtils.GetStandardSQLValue(value) + " ";
         }
         if (type == ISQL.DBType.mysql)
         {
             if (negative)
             {
                 return("!(`" + field + "`" + condition + v + ")");
             }
             else
             {
                 return("`" + field + "`" + condition + v);
             }
         }
         else
         {
             if (negative)
             {
                 return("!(" + field + string.Empty + condition + v + ")");
             }
             else
             {
                 return(string.Empty + field + string.Empty + condition + v);
             }
         }
     }
     return(string.Empty);
 }
示例#3
0
        public override string GetSQLString(ISQL.DBType type)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("delete from ");
            sb.Append(tables.GetSQLString(type));
            sb.Append(where.GetSQLString(type));
            return(SQLUtils.RemoveMultiBlank(sb.ToString()));
        }
示例#4
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (fields.Size() == 0)
     {
         return(string.Empty);
     }
     else
     {
         return(" group by " + fields.GetSQLString(type) + SQLUtils.BLANK);
     }
 }
示例#5
0
        public override string GetSQLString(ISQL.DBType type)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("update ");
            sb.Append(tables.GetSQLString(type));
            sb.Append(" set ");
            sb.Append(fieldValues.GetSQLString(type));
            sb.Append(where.GetSQLString(type));
            return(SQLUtils.RemoveMultiBlank(sb.ToString().Trim()));
        }
示例#6
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (fields.Count == 0)
     {
         return(string.Empty);
     }
     else
     {
         return(SQLUtils.BLANK + StringUtil.GetStringFromStrings(Sharpen.Collections.ToArray(fields, new string[] {  }), ", ") + SQLUtils.BLANK);
     }
 }
示例#7
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (fieldValues.Size() == 0 || StringUtil.IsNullOrEmpty(fieldValues.GetSQLString(type)))
     {
         return(string.Empty);
     }
     else
     {
         return(" where " + fieldValues.GetSQLString(type));
     }
 }
示例#8
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (!autoIncrement)
     {
         return("`" + fieldName + "`" + SQLUtils.BLANK + fieldType + SQLUtils.BLANK + (canNull ? string.Empty : " NOT NULL ") + " DEFAULT '" + defaultValue + "'");
     }
     else
     {
         return("`" + fieldName + "`" + SQLUtils.BLANK + fieldType + SQLUtils.BLANK + (canNull ? string.Empty : " NOT NULL ") + " AUTO_INCREMENT ");
     }
 }
示例#9
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (fields.Size() == 0)
     {
         return(string.Empty);
     }
     else
     {
         string field = fields.GetSQLString(type);
         return(" order by " + field + SQLUtils.BLANK);
     }
 }
示例#10
0
        public override string GetSQLString(ISQL.DBType type)
        {
            StringBuilder sb = new StringBuilder();

            if (type == ISQL.DBType.mysql)
            {
                if (ignore)
                {
                    sb.Append("insert ");
                    sb.Append(" ignore ");
                }
                else
                {
                    sb.Append("replace");
                }
            }
            else
            {
                sb.Append("insert ");
            }
            sb.Append(" into ");
            sb.Append(tables.GetSQLString(type));
            if (type == ISQL.DBType.mysql)
            {
                sb.Append(" set ");
                sb.Append(fieldValues.GetSQLString(type));
            }
            else
            {
                ISQL[] fields = Sharpen.Collections.ToArray(fieldValues.GetFieldMap(), new ISQL[0]);
                if (fields.Length > 0)
                {
                    IList <string> fList = new List <string>();
                    IList <string> vList = new List <string>();
                    foreach (ISQL f in fields)
                    {
                        SQLCondition sc = (SQLCondition)f;
                        fList.Add("\"" + sc.GetField() + "\"");
                        vList.Add(" '" + SQLUtils.GetStandardSQLValue(sc.GetValue()) + "' ");
                    }
                    sb.Append(" (" + StringUtil.GetStringFromStrings(fList, ",") + ") values(" + StringUtil.GetStringFromStrings(vList, ",") + ") ");
                }
            }
            return(SQLUtils.RemoveMultiBlank(sb.ToString().Trim()));
        }
示例#11
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (count == 0 && start == 0)
     {
         return(string.Empty);
     }
     else
     {
         if (count != 0 && start == 0)
         {
             return(" limit " + count);
         }
         else
         {
             return(" limit " + start + ", " + count);
         }
     }
 }
示例#12
0
 public override string GetSQLString(ISQL.DBType type)
 {
     if (fieldMap.Count == 0)
     {
         return(string.Empty);
     }
     else
     {
         IList <string> list = new List <string>();
         foreach (ISQL con in fieldMap)
         {
             string sql = con.GetSQLString(type);
             if (!StringUtil.IsNullOrEmpty(sql))
             {
                 list.Add(con.GetSQLString(type));
             }
         }
         return(SQLUtils.BLANK + StringUtil.GetStringFromStrings(Sharpen.Collections.ToArray(list, new string[] {  }), spliter) + SQLUtils.BLANK);
     }
 }
示例#13
0
        public override string GetSQLString(ISQL.DBType type)
        {
            if (!StringUtil.IsNullOrEmpty(this.sql))
            {
                return(this.sql);
            }
            string field = fields.Size() == 0 ? "*" : fields.GetSQLString(type);
            string sql   = string.Empty;

            if (type == ISQL.DBType.mysql || limit == null || (limit.GetCount() == 0 && limit.GetStart() == 0))
            {
                sql = "select " + field + " from " + tables.GetSQLString(type) + where.GetSQLString(type) + groupBy.GetSQLString(type) + orderBy.GetSQLString(type) + limit.GetSQLString(type);
            }
            else
            {
                WhereSQL w1 = where.Clone();
                w1.AddCondition(new SQLCondition("rownum", (limit.GetStart() + limit.GetCount() + 1).ToString(), "<", true));
                WhereSQL w2 = where.Clone();
                w2.AddCondition(new SQLCondition("rownum", (limit.GetStart() + 1).ToString(), "<", true));
                sql = "SELECT * FROM ( SELECT A.*, ROWNUM RNNNNNN FROM (SELECT " + field + " FROM " + tables.GetSQLString(type) + where.GetSQLString(type) + groupBy.GetSQLString(type) + orderBy.GetSQLString(type) + ") A WHERE ROWNUM <= " + (limit.GetStart()
                                                                                                                                                                                                                                                 + limit.GetCount()) + " ) WHERE RNNNNNN >= " + (limit.GetStart() + 1);
            }
            return(SQLUtils.RemoveMultiBlank(sql.Trim()).Trim());
        }
示例#14
0
 public override string GetSQLString(ISQL.DBType type)
 {
     return(SQLUtils.BLANK + "PRIMARY KEY (" + keys.GetSQLString(type) + ")" + SQLUtils.BLANK);
 }
示例#15
0
 public override string GetSQLString(ISQL.DBType type)
 {
     return(SQLUtils.RemoveMultiBlank("CREATE TABLE `" + tableName + "` (" + fields.GetSQLString(type) + ")" + SQLUtils.BLANK + options.GetSQLString(type) + ";"));
 }
示例#16
0
 public override string GetSQLString(ISQL.DBType type)
 {
     return(SQLUtils.BLANK + "ENGINE=" + engine + SQLUtils.BLANK + "DEFAULT" + SQLUtils.BLANK + "CHARSET=" + charset + SQLUtils.BLANK);
 }
示例#17
0
 public override string GetSQLString(ISQL.DBType type)
 {
     return(sql);
 }
示例#18
0
 public abstract string GetSQLString(ISQL.DBType type);