protected virtual string GetStatementSql(UpdateStatement statement) { StringBuilder sb = new StringBuilder(); sb.Append("UPDATE "); sb.Append(GetSql(statement.Identifier)); sb.Append(' '); sb.Append(Environment.NewLine); sb.Append("SET "); int columnCount = statement.Columns.Count; for (int i = 0; i < columnCount; i++) { OperatorExpression expr = new OperatorExpression(statement.Columns[i], Operator.Equals, statement.Values[i]); sb.Append(expr); sb.Append(i == (columnCount - 1) ? ", " : ""); } if (statement.Where != null) { sb.Append(GetSql(statement.Where)); sb.Append(' '); sb.Append(Environment.NewLine); } sb.Append(';'); return(sb.ToString()); }
public virtual string GetUpdateQuery(TableSchema table) { ISqlDialect dialect = this.ConnectionPool.DbFactory.Dialect; IdentifierExpression tableId = new IdentifierExpression(table.Name); List <IdentifierExpression> columns = new List <IdentifierExpression>(); List <IExpression> values = new List <IExpression>(); foreach (ColumnSchema col in table.Columns) { columns.Add(new IdentifierExpression(col.Name)); values.Add(new IdentifierExpression(col.DataTypeName)); } UpdateStatement upd = new UpdateStatement(tableId, columns, values); return(dialect.GetSql(upd)); }
protected virtual string GetStatementSql (UpdateStatement statement) { StringBuilder sb = new StringBuilder (); sb.Append ("UPDATE "); sb.Append (GetSql (statement.Identifier)); sb.Append (' '); sb.Append (Environment.NewLine); sb.Append ("SET "); int columnCount = statement.Columns.Count; for (int i=0; i<columnCount; i++) { OperatorExpression expr = new OperatorExpression (statement.Columns[i], Operator.Equals, statement.Values[i]); sb.Append (GetExpressionSql (expr)); sb.Append (i != (columnCount - 1) ? ", " : ""); } if (statement.Where != null) { sb.Append (GetSql (statement.Where)); sb.Append (' '); sb.Append (Environment.NewLine); } sb.Append (';'); return sb.ToString (); }
public virtual string GetUpdateQuery (TableSchema table) { ISqlDialect dialect = this.ConnectionPool.DbFactory.Dialect; IdentifierExpression tableId = new IdentifierExpression (table.Name); List<IdentifierExpression> columns = new List<IdentifierExpression>(); List<IExpression> values = new List<IExpression>(); foreach (ColumnSchema col in table.Columns) { columns.Add(new IdentifierExpression(col.Name)); values.Add(new IdentifierExpression(col.DataTypeName)); } UpdateStatement upd = new UpdateStatement (tableId, columns, values); return dialect.GetSql(upd); }