Пример #1
0
        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);
            }
        }
Пример #2
0
 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;
            }
        }