private void BuildInsertQuery(string tableName) { byte i = 0; string[] columns = new string[Columns.Keys.Count]; string[] parameters = new string[Columns.Values.Count]; Columns.Keys.CopyTo(columns, 0); foreach (string parameter in Columns.Values) { parameters[i] = parameter; i++; } if (columns.Length != 0) { Append(EnableTableAndColumnEncapsulation ? "INSERT INTO [{0}] ({1}) VALUES ({2})" : "INSERT INTO {0} ({1}) VALUES ({2})", string.IsNullOrEmpty(tableName) ? TableName : tableName, QueryUtility.GetQueryFragment(EnableTableAndColumnEncapsulation ? QueryFormat.DelimitedSquareBracket : QueryFormat.Delimited, columns), QueryUtility.GetQueryFragment(QueryFormat.Delimited, parameters)); } else { Append(EnableTableAndColumnEncapsulation ? "INSERT INTO [{0}] DEFAULT VALUES" : "INSERT INTO {0} DEFAULT VALUES", string.IsNullOrEmpty(tableName) ? TableName : tableName); } }
private void BuildSelectQuery(string tableName) { bool enableSquareBracketEncapsulationOnTable = EnableTableAndColumnEncapsulation; string[] columns = new string[KeyColumns.Count + Columns.Count]; KeyColumns.Keys.CopyTo(columns, 0); Columns.Keys.CopyTo(columns, KeyColumns.Count); Append("SELECT "); if (EnableReadLimit) { Append("TOP {0} ", ReadLimit); } Append(QueryUtility.GetQueryFragment(EnableTableAndColumnEncapsulation ? QueryFormat.DelimitedSquareBracket : QueryFormat.Delimited, columns, true)); if (enableSquareBracketEncapsulationOnTable) { enableSquareBracketEncapsulationOnTable = !(tableName.Contains("[") && tableName.Contains("]")); // check if we have an overriden tableName with square brackets already integrated and reverse the boolean result. } Append(enableSquareBracketEncapsulationOnTable ? " FROM [{0}]" : " FROM {0}", string.IsNullOrEmpty(tableName) ? TableName : tableName); if (EnableDirtyReads) { Append(" WITH(NOLOCK)"); } AppendWhereClause(); }