Search
Description
SqlBuilder is a toolset with capabilities to build your SQL without strings. It's a full managed code and help us to build Select, Insert, Update and Delete statements.

Architecture Notes
If your use SqlBuilder, use an Code Generator engine to generate your Data Acess classes.
SqlBuilder is a helper to generate Sql manually. If you need write sql, do it. Before add SqlBuilder in your solution, think about an ORM mapper like Nhibernate, Entity Framework, Gentle.Net, Subsonic or other.

Select teste case (with optional parameters, Between, And, Or, Not, Like, OrderBy, cloning and more)
http://sqlbuilder.codeplex.com/sourcecontrol/changeset/view/27052?projectName=SqlBuilder#444691

Select Statement

SelectSQLBuilder target = new SelectSQLBuilder(); // TODO: Initialize to an appropriate value
target.Tables.Add(new FromItem(LiteralManager.GetLiteralBuilder().BuildTableName("dataBaseName", "dbo", "tableOfView"), "con"));
target.Columns.Add(new ColumnItem(LiteralManager.GetLiteralBuilder().BuildColumnName("idOfTable")));
target.Columns.Add(new ColumnItem(LiteralManager.GetLiteralBuilder().BuildColumnName("Site"), "Nome"));
target.Columns.Add(new ColumnItem(LiteralManager.GetLiteralBuilder().BuildColumnName("columnName01")));
target.Columns.Add(new ColumnItem(LiteralManager.GetLiteralBuilder().BuildColumnName("columnName02")));

OrBinaryOperator orBinaryOperator = new OrBinaryOperator(
		new IsNullOperator(
			LiteralManager.GetLiteralBuilder().BuildParameter("columnName02")
		),
		new EqualToOperator(
			LiteralManager.GetLiteralBuilder().BuildColumnName("columnName02"),
			LiteralManager.GetLiteralBuilder().BuildParameter("columnName02")
		)
	);
target.WhereClause.Items.Add(orBinaryOperator);
string actual = target.ToSQL();


Delete Statement

DeleteSQLBuilder target = new DeleteSQLBuilder();
target.TableName = LiteralManager.GetLiteralBuilder().BuildTableName("Table01");
target.WhereClause.Items.Add(
		new EqualToOperator(
			LiteralManager.GetLiteralBuilder().BuildColumnName("ID"), 
			LiteralManager.GetLiteralBuilder().BuildParameter("ID")
		)
);
string actual = target.ToSQL();

Insert Statement

InsertSQLBuilder target = new InsertSQLBuilder(); // TODO: Initialize to an appropriate value
target.TableName = LiteralManager.GetLiteralBuilder().BuildTableName("dataBaseName.dbo.tableOfView");
target.CollumnsAndValues.Add(
		new SetItem(
			LiteralManager.GetLiteralBuilder().BuildColumnName("columnName01"), 
			LiteralManager.GetLiteralBuilder().BuildParameter("columnName01")
		)
);
target.CollumnsAndValues.Add(
		new SetItem(
			LiteralManager.GetLiteralBuilder().BuildColumnName("columnName02"), 
			LiteralManager.GetLiteralBuilder().BuildParameter("columnName02")
		)
);
string actual = target.ToSQL() + LiteralManager.GetLiteralBuilder().GetLastIdentity(null).ToSQL();

Update Statement

UpdateSQLBuilder target = new UpdateSQLBuilder();
target.TableName = LiteralManager.GetLiteralBuilder().BuildTableName("Table01");
target.CollumnsAndValues.Add(
	new SetItem(
		LiteralManager.GetLiteralBuilder().BuildColumnName("Coluna1"), 
		LiteralManager.GetLiteralBuilder().BuildParameter("Coluna1")
	)
);
target.WhereClause.Items.Add(
	new EqualToOperator(
		LiteralManager.GetLiteralBuilder().BuildColumnName("ID"), 
		LiteralManager.GetLiteralBuilder().BuildParameter("ID")
	)
);
string actual = target.ToSQL();


Brazilian Project Bandeira_brasil_59x0.jpg
Last edited Aug 27 2009 at 3:49 AM by luizcarlosfaria, version 17
Updating...
© 2006-2012 Microsoft | Get Help | Privacy Statement | Terms of Use | Code of Conduct | Advertise With Us | Version 2012.1.11.18365