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); }
void ISqlStatementElement.Render(SqlTextWriter writer, SqlBuildArguments args) { this.CreateSelectBuilder(false).Render(writer, args); foreach (var param in this.Parameters) { args.Parameters.Add(param); } }
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)); }
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("")); }
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()); }
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()); }