Beispiel #1
0
        public void ExecuteCommand(params Action <SQLiteCommand>[] querys)
        {
            using var command = _databaseConnection.CreateCommand();
            try
            {
                querys.ForEach(query => query(command));

                _logger
                .ForContext("Command", command.CommandText)
                .ForContext("Parameters", command.Parameters, true)
                .Verbose("Executed SQL command");
            }
            catch (Exception e)
            {
                _logger
                .ForContext("Command", command.CommandText)
                .ForContext("Parameters", command.Parameters, true)
                .Error(e, "Exception thrown while executing SQL command");

                throw new SqlExecutionException(e);
            }
        }
Beispiel #2
0
        public void RunCommand(object query, int timeout, Action <IDatabaseCommand> action, params IDatabaseParameter[] @params)
        {
#if LOG_SQL
            Logger.Debug(query);
#endif
            using IDatabaseConnection conn = Backend.CreateConnection();
            using IDatabaseCommand comm    = conn.CreateCommand(query);
            comm.CommandTimeout            = timeout;
            if (@params.Any())
            {
                comm.AddParameters(@params);
                comm.Prepare();
            }
            action.Invoke(comm);
        }