Example #1
0
        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 + "'"))
            //);
        }
Example #2
0
File: Insert.cs Project: bazer/Modl
        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 + "'"))
            //);
        }
Example #3
0
File: Where.cs Project: bazer/Modl
        //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);
        }
Example #4
0
        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);
        }
Example #5
0
 internal override Sql GetParameterValue(Sql sql, string key)
 {
     return sql.AddFormat("@{0}", key);
 }
Example #6
0
 internal override Sql GetParameterComparison(Sql sql, string field, Relation relation, string key)
 {
     return sql.AddFormat("{0} {1} @{2}", field, relation.ToSql(), key);
 }