public static string CreateSelectCommandText(DataTable table, string Suffix, DBAbstractDataLayer.DataAccessRules.Syntax.DataDeletionStatus deletionStatus) { string command = string.Empty; if (deletionStatus != Syntax.DataDeletionStatus.All) { var selectQuery = new System.Text.StringBuilder(); var tmpApp = new System.Text.StringBuilder(); selectQuery.AppendFormat("SELECT {2} FROM {0} {1} ", table.TableName, Suffix, getAllColumnNames(table)); if (columnNames.ContainsKey(table.TableName)) { tmpApp = columnNames[table.TableName]; } else { columnNames[table.TableName] = tmpApp; } selectQuery.Append(tmpApp.ToString()); selectQuery.AppendFormat(" {0} {1}.isDeleted=@isDeleted ", Suffix.Contains("WHERE ") ? "AND": "WHERE", table.TableName); return(selectQuery.ToString()); } else { SQLCustomCommandBuilder cb = new SQLCustomCommandBuilder(table, DALRule.MetaModel.getColumnTypes(table.TableName, "TransactSQL")); return(((SqlCommand)(cb.GetSelectWithFilterCommand(Suffix))).CommandText); } }
public abstract void FillTableInGetLinhasConcorrentes(DataSet ds, DataTable table, string query, DBAbstractDataLayer.DataAccessRules.Syntax.DataDeletionStatus status, IDbTransaction tran);
public override void FillTableInGetLinhasConcorrentes(DataSet ds, DataTable table, string query, DBAbstractDataLayer.DataAccessRules.Syntax.DataDeletionStatus status, IDbTransaction tran) { try { if (ds.Tables[table.TableName] == null) { ds.Tables.Add(table.Clone()); } using (var command = SqlSyntax.CreateSelectCommandWithNoDeletedRowsParam((SqlTransaction)tran)) using (var da = new SqlDataAdapter(command)) { da.SelectCommand.CommandText = SqlSyntax.CreateSelectCommandText(table, " WITH (UPDLOCK) " + query, status); da.Fill(ds, table.TableName); } } catch (Exception e) { Trace.WriteLine(table + ": " + e.Message); throw e; } }