Пример #1
0
        public void BuildExpression_Count()
        {
            MySQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("id");
            sqlBuilder.AddSelectClause("name");
            sqlBuilder.AddFromClause("employees");

            sqlBuilder.AddCountClause(typeof(Employee));

            StringBuilder stringBuilder = new StringBuilder();

            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT COUNT(*) AS numrows FROM employees;", stringBuilder.ToString());
        }
Пример #2
0
        public void BuildExpression_ANSIJoin()
        {
            MySQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("id");
            sqlBuilder.AddFromClause("foo");
            sqlBuilder.AddJoinClause("LEFT JOIN", "bar", "bar.id = foo.id");

            StringBuilder stringBuilder = new StringBuilder();

            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT DISTINCT id FROM foo LEFT JOIN bar ON bar.id = foo.id;", stringBuilder.ToString());
        }
Пример #3
0
        public void BuildExpression_Limit()
        {
            MySQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("id");
            sqlBuilder.AddFromClause("employees");
            sqlBuilder.SkipResults(100);
            sqlBuilder.TakeResults(10);

            StringBuilder stringBuilder = new StringBuilder();

            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT DISTINCT id FROM employees LIMIT 100, 10;", stringBuilder.ToString());
        }
Пример #4
0
        public void BuildExpression_OrderBy()
        {
            MySQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("id");
            sqlBuilder.AddFromClause("employees");
            sqlBuilder.AddOrderByClause("name", SortDirection.Descending);

            StringBuilder stringBuilder = new StringBuilder();

            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT DISTINCT id FROM employees ORDER BY name DESC;", stringBuilder.ToString());
        }
Пример #5
0
        public void Clone_SimpleTest()
        {
            SQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("name");
            sqlBuilder.AddFromClause("employees");
            sqlBuilder.AddWhereClause("id=42", ExpressionType.And);

            SQLBuilder clonedBuilder = (SQLBuilder) sqlBuilder.Clone();

            sqlBuilder.AddCountClause(typeof(Employee));

            StringBuilder stringBuilder = new StringBuilder();
            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT COUNT(*) AS numrows FROM employees WHERE  id=42 ;", stringBuilder.ToString());

            stringBuilder = new StringBuilder();

            clonedBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT DISTINCT name FROM employees WHERE  id=42 ;", stringBuilder.ToString());
        }
Пример #6
0
        public void BuildExpression_TrivialSelectTrivialWhere()
        {
            MySQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("1");
            sqlBuilder.AddWhereClause("1 = 0", ExpressionType.Or);

            StringBuilder stringBuilder = new StringBuilder();

            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT DISTINCT 1 WHERE  1 = 0 ;", stringBuilder.ToString());
        }
Пример #7
0
        public void BuildExpression_TrivialSelect()
        {
            MySQLBuilder builder = new MySQLBuilder();
            builder.AddSelectClause("1");

            StringBuilder sBuilder = new StringBuilder();
            builder.BuildExpression(sBuilder);

            Assert.AreEqual("SELECT DISTINCT 1;", sBuilder.ToString());
        }
Пример #8
0
        public void BuildExpression_SelectFromWhere()
        {
            MySQLBuilder sqlBuilder = new MySQLBuilder();

            sqlBuilder.AddSelectClause("name");
            sqlBuilder.AddFromClause("employees");
            sqlBuilder.AddWhereClause("id=42", ExpressionType.And);

            StringBuilder stringBuilder = new StringBuilder();

            sqlBuilder.BuildExpression(stringBuilder);

            Assert.AreEqual("SELECT DISTINCT name FROM employees WHERE  id=42 ;", stringBuilder.ToString());
        }