예제 #1
0
 public ISelect Where <T>(string column, string compare, T parameter) where T : DbParameter
 {
     AddWhere("AND");
     StrQuery.AppendFormat($"{Layout.Param(column)}{compare}{parameter.ParameterName}");
     Parameters.Add(parameter);
     return(this);
 }
 public ISetValue SetValue <T>(string field, T value) where T : DbParameter
 {
     AddSetSeparator();
     StrQuery.AppendFormat("{0}={1}", Layout.Param(field), value.ParameterName);
     Parameters.Add(value);
     return(this);
 }
예제 #3
0
 public ISelect WhereBetween <T1, T2>(string column, T1 param1, T2 param2)
     where T1 : DbParameter
     where T2 : DbParameter
 {
     AddWhere("AND");
     StrQuery.AppendFormat($"{Layout.Param(column)} BETWEEN {param1.ParameterName} AND {param2.ParameterName}");
     Parameters.Add(param1);
     Parameters.Add(param2);
     return(this);
 }
예제 #4
0
 public void AddWhere(string value)
 {
     if (StrQuery.ToString().Contains("WHERE") == false)
     {
         StrQuery.AppendFormat(" WHERE ");
     }
     else
     {
         StrQuery.AppendFormat($" {value} ");
     }
 }
예제 #5
0
 public void AddSetSeparator()
 {
     if (!StrQuery.ToString().Contains("SET"))
     {
         StrQuery.AppendFormat(" SET ");
     }
     else
     {
         StrQuery.AppendFormat(",");
     }
 }
 public IWhereDelete Delete(string table, string schema = "")
 {
     if (string.IsNullOrWhiteSpace(schema))
     {
         StrQuery.Append($"DELETE FROM {Layout.Param(table)}");
     }
     else
     {
         StrQuery.Append($"DELETE FROM {Layout.Param(schema)}.{Layout.Param(table)}");
     }
     return(this);
 }
 public ISetValue Update(string table, string schema = "")
 {
     if (string.IsNullOrWhiteSpace(schema))
     {
         StrQuery.Append($"UPDATE {Layout.Param(table)}");
     }
     else
     {
         StrQuery.Append($"UPDATE INTO {Layout.Param(schema)}.{Layout.Param(table)}");
     }
     return(this);
 }
 public IColumns Insert(string table, string schema = "")
 {
     if (string.IsNullOrWhiteSpace(schema))
     {
         StrQuery.Append($"INSERT INTO {Layout.Param(table)}");
     }
     else
     {
         StrQuery.Append($"INSERT INTO {Layout.Param(schema)}.{Layout.Param(table)}");
     }
     return(this);
 }
 public IWhereDelete Delete(string table, string schema = "")
 {
     if (string.IsNullOrWhiteSpace(schema))
     {
         StrQuery.Append($"DELETE FROM {table}");
     }
     else
     {
         StrQuery.Append($"DELETE FROM {schema}.{table}");
     }
     return(this);
 }
        ISelect ISelect.Columns(params string[] values)
        {
            var index = StrQuery.ToString().IndexOf("*");

            if (index >= 0)
            {
                string columns = Layout.Open() +
                                 string.Join($"{Layout.Close()},{Layout.Open()}", values) +
                                 Layout.Close();
                StrQuery = StrQuery.Replace("*", columns);
            }
            return(this);
        }
예제 #11
0
 public ISelect Where <T>(string column, string compare, T parameter) where T : DbParameter
 {
     if (StrQuery.ToString().Contains("WHERE") == false)
     {
         StrQuery.AppendFormat(" WHERE ");
     }
     else
     {
         StrQuery.AppendFormat(" AND ");
     }
     StrQuery.AppendFormat($"{Layout.Param(column)} {compare} {parameter.ParameterName}");
     Parameters.Add(parameter);
     return(this);
 }
 public IIdentity Values(params DbParameter[] values)
 {
     Parameters.AddRange(values);
     StrQuery.Append("VALUES(");
     for (int i = 0; i < values.Length; i++)
     {
         if (i > 0)
         {
             StrQuery.AppendFormat(",");
         }
         StrQuery.Append(values[i].ParameterName);
     }
     StrQuery.Append(");");
     return(this);
 }
예제 #13
0
 public ISetValue SetValue <T>(string field, T value)
     where T : DbParameter
 {
     if (!StrQuery.ToString().Contains("SET"))
     {
         StrQuery.AppendFormat(" SET ");
     }
     else
     {
         StrQuery.AppendFormat(", ");
     }
     StrQuery.AppendFormat("[{0}]={1}", field, value.ParameterName);
     Parameters.Add(value);
     return(this);
 }
        public IBuilder Identity(IdentityResult result = IdentityResult.Integer)
        {
            string returnType = "";

            switch (result)
            {
            case IdentityResult.Integer:
            {
                returnType = "INT";
                break;
            }

            case IdentityResult.BigInteger:
            {
                returnType = "BIGINT";
                break;
            }
            }
            StrQuery.Append($"{Layout.LastInsertedId(returnType)}");
            return(this);
        }
        public IBuilder Identity(IdentityResult result = IdentityResult.Integer)
        {
            string returnType = "";

            switch (result)
            {
            case IdentityResult.Integer:
            {
                returnType = "INT";
                break;
            }

            case IdentityResult.BigInteger:
            {
                returnType = "BIGINT";
                break;
            }
            }
            StrQuery.Append($"SELECT CAST(SCOPE_IDENTITY() AS {returnType});");
            return(this);
        }
 public ISelect From(string table)
 {
     StrQuery.AppendFormat($"SELECT * FROM {Layout.Param(table)}");
     return(this);
 }
 public IResultBuilder Builder()
 {
     return(new ResultBuilder(StrQuery.ToString(), Parameters.ToArray()));
 }
 public IValues Columns(params string[] values)
 {
     StrQuery.AppendFormat("({0}) ", Layout.Open() + string.Join($"{Layout.Close()},{Layout.Open()}", values) + Layout.Close());
     return(this);
 }
예제 #19
0
 public ISelect OrWhereNull(string column)
 {
     AddWhere("OR");
     StrQuery.AppendFormat($"{Layout.Param(column)} IS NULL");
     return(this);
 }