Example #1
0
        public static object ExcuteTrann(UpdateContext context)
        {
            if (context.ExcuteFail == true)
            {
                return(false);
            }

            var config     = context.Config;
            var conn       = context.OpenTran(config.Connection);
            var connection = conn.Item1;
            var trann      = conn.Item2;

            var realSql = SqlParser.Convert(context, config.Sql);
            var cmd     = connection.CreateCommand();

            cmd.CommandText = realSql.Item1;
            cmd.Transaction = trann;
            try
            {
                if (realSql.Item2 != null && realSql.Item2.Any())
                {
                    foreach (var ps in realSql.Item2)
                    {
                        cmd.Parameters.AddWithValue(ps.Key, ps.Value);
                    }
                }

                var result = cmd.ExecuteNonQuery();
                context.AddCmd(cmd);
                return(GetResult(context, cmd, result));
            }
            catch (Exception ex)
            {
                context.RollBack();
                throw;
            }
        }