Exemple #1
0
        public void TestTableNameFormatting()
        {
            var    test1 = "[table]";
            var    test2 = "[schema].[table]";
            var    test3 = "[server].[schema].[table]";
            string s;

            s = SqlTextWriter.FormatTableName("table");
            Assert.AreEqual(s, test1);
            s = SqlTextWriter.FormatTableName("[table]");
            Assert.AreEqual(s, test1);

            s = SqlTextWriter.FormatTableName("schema.table");
            Assert.AreEqual(s, test2);
            s = SqlTextWriter.FormatTableName("schema.[table]");
            Assert.AreEqual(s, test2);
            s = SqlTextWriter.FormatTableName("[schema].[table]");
            Assert.AreEqual(s, test2);

            s = SqlTextWriter.FormatTableName("server.schema.table");
            Assert.AreEqual(s, test3);
            s = SqlTextWriter.FormatTableName("server.[schema].table");
            Assert.AreEqual(s, test3);
            s = SqlTextWriter.FormatTableName("[server].[schema].table");
            Assert.AreEqual(s, test3);
            s = SqlTextWriter.FormatTableName("[server].[schema].[table]");
            Assert.AreEqual(s, test3);
        }
Exemple #2
0
        void ISqlStatementElement.Render(SqlTextWriter writer, SqlBuildArguments args)
        {
            this.CreateSelectBuilder(false).Render(writer, args);

            foreach (var param in this.Parameters)
            {
                args.Parameters.Add(param);
            }
        }
Exemple #3
0
 public void TestQuotedIdentifierFormatting()
 {
     Assert.AreEqual("\"FirstName\"", SqlTextWriter.FormatSqlServerIdentifier("FirstName", true));
     Assert.AreEqual("\"FirstName\"", SqlTextWriter.FormatSqlServerIdentifier("\"FirstName\"", true));
     Assert.AreEqual("\"First\"\";--Name\"", SqlTextWriter.FormatSqlServerIdentifier("First\";--Name", true));
     Assert.AreEqual("\"[]\"", SqlTextWriter.FormatSqlServerIdentifier("[]", true));
     Assert.AreEqual("\"\"\"\"", SqlTextWriter.FormatSqlServerIdentifier("\"", true));
     Assert.AreEqual("\"\"", SqlTextWriter.FormatSqlServerIdentifier("", true));
 }
Exemple #4
0
 public void TestBracketIdentifierFormatting()
 {
     Assert.AreEqual("[FirstName]", SqlTextWriter.FormatSqlServerIdentifier("FirstName"));
     Assert.AreEqual("[FirstName]", SqlTextWriter.FormatSqlServerIdentifier("[FirstName]"));
     Assert.AreEqual("\"First];--Name\"", SqlTextWriter.FormatSqlServerIdentifier("First];--Name"));
     Assert.AreEqual("\"First]\"\";--Name\"", SqlTextWriter.FormatSqlServerIdentifier("First]\";--Name"));
     Assert.AreEqual("\"[]\"", SqlTextWriter.FormatSqlServerIdentifier("[]"));
     Assert.AreEqual("[\"]", SqlTextWriter.FormatSqlServerIdentifier("\""));
     Assert.AreEqual("[]", SqlTextWriter.FormatSqlServerIdentifier(""));
 }
Exemple #5
0
        public void TestDerivedTableRemovesSemicolons()
        {
            var table  = new SqlDerivedTable("SELECT * FROM [Foo];");
            var args   = new SqlBuildArguments();
            var writer = new SqlTextWriter();

            args.AssignAlias(table);

            ((ISqlTable)table).Render(writer, args);

            Assert.AreEqual("(SELECT * FROM [Foo]) AS [" + args.TableName(table) + "]", writer.ToString());
        }
Exemple #6
0
        public void TestDerivedTableWrapsWithParens()
        {
            var table  = new SqlDerivedTable("SELECT * FROM [Foo]");
            var args   = new SqlBuildArguments();
            var writer = new SqlTextWriter();

            args.AssignAlias(table);

            ((ISqlTable)table).Render(writer, args);

            Assert.IsTrue(string.Equals(writer.ToString(), "(SELECT * FROM [Foo]) AS [" + args.TableName(table) + "]"));
        }
        public void TestQueryBuilderAsSqlStatementRendersParametersToArgs()
        {
            var conn  = new MockConnection();
            var query = new DbQueryBuilder("SELECT * FROM dbo.TableName WHERE Foo=@Foo", conn);


            query.Parameters.Add(new DbParameterValue()
            {
                ParameterName = "@Foo",
                DbType        = System.Data.DbType.Int32,
                Size          = 4,
                Value         = 123
            });

            var args   = new SqlBuildArguments();
            var writer = new SqlTextWriter();

            ((ISqlStatementElement)query).Render(writer, args);

            Assert.AreEqual(1, args.Parameters.Count);
            Assert.AreEqual("SELECT * FROM (SELECT * FROM dbo.TableName WHERE Foo=@Foo) AS [t0]", writer.ToString());
        }