AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-742402

Andrus's questions

Martin Hope
Andrus
Asked: 2025-04-24 16:36:28 +0800 CST

Como usar o índice para pesquisar se o trim é usado no valor de pesquisa

  • 6

Meu banco de dados Postgres 17 tem uma tabela grande com 245 colunas contendo uma coluna indexada ribakood:

CREATE TABLE firma2.toode
(
...
    ribakood character(20) COLLATE pg_catalog."default",
...
);

CREATE INDEX toode_ribakood_idx
    ON firma2.toode 
    (ribakood COLLATE pg_catalog."default" ASC NULLS LAST);

A consulta com trim():

explain analyze select toode,ostuhind, nimetus, pangateen
  from firma2.toode where ribakood=TRIM('TESTTOODE/H ')

não usa o índice:

Gather  (cost=1000.00..575155.04 rows=4927 width=114) (actual time=101.341..2257.639 rows=1 loops=1)
  Workers Planned: 3
  Workers Launched: 0
  ->  Parallel Seq Scan on toode (cost=0.00..573662.34 rows=1589 width=114) (actual time=101.186..2257.436 rows=1 loops=1)
        Filter: ((ribakood)::text = 'TESTTOODE/H'::text)
        Rows Removed by Filter: 986481
Planning Time: 0.098 ms
Execution Time: 2257.653 ms

A mesma consulta sem trim():

explain analyze select toode,ostuhind, nimetus, pangateen
  from firma2.toode where ribakood='TESTTOODE/H'

usa o índice:

Index Scan using toode_ribakood_idx on toode  (cost=0.42..12.45 rows=2 width=114) (actual time=0.475..0.477 rows=1 loops=1)
  Index Cond: (ribakood = 'TESTTOODE/H'::bpchar)
Planning Time: 0.147 ms
Execution Time: 0.490 ms

O Postgres converte a ribakoodcoluna para o tipo texte não consegue encontrar o índice. Como forçar a primeira consulta trim()a usar o índice?

Usando: PostgreSQL 17.0 em x86_64-windows, compilado por msvc-19.41.34120, 64 bits

postgresql
  • 1 respostas
  • 44 Views
Martin Hope
Andrus
Asked: 2024-12-29 07:30:20 +0800 CST

Converter data e hora de início do evento de seleção de calendário completo para C#

  • 5

https://fullcalendar.io/ select event salva hora de início usando código da resposta Como passar tstzrange para postgres

Javascript:

document.addEventListener('DOMContentLoaded', function() {
const calOpts = {
  locale: 'ee',
  slotDuration: '00:15:00',
  slotLabelInterval: '00:15',
  allDaySlot: false,
  selectConstraint: 'businessHours',
  select : function( selectionInfo  ) {
     document.getElementById('start').value = selectionInfo.start
     },
    selectable: true,
   events: { url: 'api/fullcalendar' }
   }
  const calendarEl = document.getElementById('calendar')
  calendar = new FullCalendar.Calendar(calendarEl, calOpts)
  calendar.render()
  })

html:

<form action="~/kinnitatud" method="post">
<input type="hidden" name="start" id="start" />
<input type='submit'/>
</form>

selectionInfo.start contém valor localizado como

Segunda-feira, 30 de dezembro de 2024, 09:30:00 GMT + 0200 (padrão Ida-Euroopa, por exemplo)

O controlador .NET 9 MVC analisa-o usando

[HttpPost]
public async Task<IActionResult> Kinnitatud(string start) {
DateTime algus = DateTimeOffset.Parse(start,new CultureInfo("ee")).UtcDateTime;
}

DateTimeOffset.Parse lança exceção:

String 'Mon Dec 30 2024 09:30:00 GMT+0200 (Ida-Euroopa standardaeg)' was not recognized as a valid DateTime.

Tentei também sem

localidade: 'ee',

configuração, mas o valor inicial ainda está na cultura ee. ee é cultura do navegador. Fullcalendar retorna selectionInfo.start no formato de cultura do navegador sempre.

Tentei usar DateTime.Parse no controlador:

DateTime algus = DateTime.Parse(start, new CultureInfo("ee")).ToUniversalTime()

A exceção é a mesma.

Como forçar fullcalendar a retornar o horário de início selecionado no formato de cultura invariável?

Ou: usuários têm culturas diferentes no navegador. Como analisar start selectionInfo.start retornado por fullcalendar?

javascript
  • 1 respostas
  • 49 Views
Martin Hope
Andrus
Asked: 2024-12-27 06:17:26 +0800 CST

Como passar tstzrange para postgres

  • 5

Passando tstzrange para postgres no EF Core usando

DateTime algus = DateTime.Parse("2024-11-25T00:00:00+02:00", CultureInfo.InvariantCulture).ToUniversalTime();
DateTime lopp = DateTime.Parse("2025-01-25T22:00:00+02:00", CultureInfo.InvariantCulture).ToUniversalTime();

await ctx.Database.SqlQuery<DateTime>($@"
select lower(tstzrange '[{algus},{lopp})') as ""Value""
").ToArrayAsync();

gera erro

invalid input syntax for type timestamp with time zone: "@p0" at character 20
STATEMENT:  select tstzrange '[@p0,@p1)'

Como passar tstzrange para o Postgres?

O código está no controlador ASP.NET 9 MVC

O aplicativo usa o servidor Postgres 12 e posterior e o mais recente Npgsql Entity Framework Core Provider

asp.net-mvc
  • 1 respostas
  • 36 Views
Martin Hope
Andrus
Asked: 2024-12-26 05:51:18 +0800 CST

Como remover nomes de computadores e processos e IDs de processos do syslog

  • 3

O syslog do Debian contém informações repetidas como:

Dec 25 09:43:28 uvn-76-202 Eeva[7192]:          at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Dec 25 09:43:28 uvn-76-202 Eeva[7192]:          at Program.<>c.<<Main>b__3_6>d.MoveNext() in C:\raamat\eevaweb\Store\Program.cs:line 979
Dec 25 09:43:28 uvn-76-202 Eeva[7192]:       
Dec 25 09:45:01 uvn-76-202 CRON[18528]: (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Dec 25 09:54:14 uvn-76-202 systemd[1]: Created slice User Slice of UID 0.

Como remover o nome do servidor, nome do processo, ID do processo e espaços para que a saída seja

Dec 25 09:43:28 at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
Dec 25 09:43:28 at Program.<>c.<<Main>b__3_6>d.MoveNext() in C:\raamat\eevaweb\Store\Program.cs:line 979
Dec 25 09:45:01 (root) CMD (command -v debian-sa1 > /dev/null && debian-sa1 1 1)
Dec 25 09:54:14 Created slice User Slice of UID 0.

Tentei usar no controlador ASP.NET 9 MVC

  StribBuilder sb = new();
  using StreamReader reader = new("/var/log/syslog");
  string line;
  while ((line = await reader.ReadLineAsync()) != null)
  {
    line = StrTran(line, "uvn-76-202 Eeva", "");
    line = StrTran(line, "         "), "");
    sb.AppendLine(line);
  }

static string StrTran(string cSearchIn, string cSearchFor, string cReplaceWith)
{
  StringBuilder sb = new(cSearchIn);
  return sb.Replace(cSearchFor, cReplaceWith).ToString();
}

mas isso remove apenas parte das informações desnecessárias.

c#
  • 1 respostas
  • 33 Views
Martin Hope
Andrus
Asked: 2024-10-13 18:42:04 +0800 CST

Como tornar o fundo do item de menu ativo mais visível

  • 4

Como tornar o fundo deste item de menu ativo azul ou mais escuro, como nos menus dos aplicativos da área de trabalho do Windows?

insira a descrição da imagem aqui

O menu suspenso do Bootstrap 5 é criado usando este código (também no JSFiddle ):

<!-- Bootstrap 5 -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>

<div class="btn-group">
  <button type="button" class="btn btn-danger dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
        Action
      </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#"><u>A</u>ction</a></li>
    <li><a class="dropdown-item" href="#">A<u>n</u>other action</a></li>
    <li><a class="dropdown-item" href="#"><u>S</u>omething else here</a></li>
    <li>
      <hr class="dropdown-divider">
    </li>
    <li><a class="dropdown-item" href="#">S<u>e</u>parated link</a></li>
  </ul>
</div>

html
  • 1 respostas
  • 49 Views
Martin Hope
Andrus
Asked: 2024-10-13 18:23:12 +0800 CST

Como obter dados digitados da instrução sql select para o Excel

  • 5

O controlador de aplicativo ASP.NET Core 8 MVC deve criar uma planilha do Excel com dados digitados em colunas (números, strings, datas, lógicas) a partir de seleção SQL arbitrária.

Eu tentei este código:

public async Task<IActionResult> RawData() 
{
    // https://blog.elmah.io/export-data-to-excel-with-asp-net-core/
    using var workbook = new XLWorkbook();
    var worksheet = workbook.Worksheets.Add("Test");
    using IDataReader dr = ExecuteReader("select * from foo", out IDbConnection _);

    int currentRow= 1 ;

    while (dr.Read())
    {
        for (var j = 0; j < dr.FieldCount; j++)
            if (dr.GetFieldType(j) != typeof(byte[]))
                worksheet.Cell(currentRow, j + 1).Value = dr.GetValue(j).ToString();

        currentRow++;
    }

    using var stream = new MemoryStream();
    workbook.SaveAs(stream);
    var content = stream.ToArray();

    return File(content, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "test.xlsx");
}

Numérico, duplo, flutuante, inteiro e booleano aparecem como strings no Excel.

Removendo ToString()usando

worksheet.Cell(currentRow, j + 1).Value = dr.GetValue(j);

gera um erro de compilação.

Como obter dados digitados IDataReaderem um arquivo Excel ou ODS?

O aplicativo usa o Entity Framework Core. Talvez o datareader possa ser substituído por Database.FromSQLRawAsync()um dynamic usado.

asp.net-core
  • 1 respostas
  • 34 Views
Martin Hope
Andrus
Asked: 2024-10-13 04:28:05 +0800 CST

Como permitir que as teclas de seta para cima e para baixo envolvam o menu

  • 5

No menu do Bootstrap 5, pressionar a tecla de seta para cima no primeiro item ou a tecla de permissão para baixo no último item não faz nada.

Como fazer com que a seta para cima vá para o último item do menu se for pressionado no primeiro item e a seta para baixo vá para o primeiro item se for pressionado no último item, assim como nos menus normais de aplicativos de desktop do Windows?

Para reproduzir a página aberta

<div class="btn-group">
  <button type="button" class="btn btn-danger dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Action
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#"><u>A</u>ction</a></li>
    <li><a class="dropdown-item" href="#">A<u>n</u>other action</a></li>
    <li><a class="dropdown-item" href="#"><u>S</u>omething else here</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="#">S<u>e</u>parated link</a></li>
  </ul>
</div>

https://jsfiddle.net/b6or2s5e/

Abra o menu Ação. Pressionar a seta para cima na primeira linha do menu ou pressionar a seta para baixo na última linha do menu não faz nada.

javascript
  • 1 respostas
  • 24 Views
Martin Hope
Andrus
Asked: 2024-10-03 04:43:41 +0800 CST

Como permitir parâmetros inteiros e numéricos mistos no icase

  • 6

Função de criação de caso usando

CREATE OR REPLACE FUNCTION public.icase(
cond1 boolean,  res1 anyelement,
cond2 boolean,  res2 anyelement,
conddefault anyelement)    
RETURNS anyelement    LANGUAGE 'sql' IMMUTABLE PARALLEL UNSAFE AS $BODY$ 
SELECT CASE WHEN $1 THEN $2 WHEN $3 THEN $4 ELSE $5 END; 
$BODY$;

select 
 icase( false, 0, false, 0.,0.)

gera erro

function icase(boolean, integer, boolean, numeric, numeric) does not exist

Como permitir que o icase aceite parâmetros mistos inteiros/numéricos?

sql
  • 2 respostas
  • 35 Views
Martin Hope
Andrus
Asked: 2024-09-19 14:44:20 +0800 CST

Como usar o operador posix regexp para correspondência de substring

  • 7

Estou tentando mudar de ILIKE para o operador ~* do Postgres. As tabelas têm colunas bpchar (não podem ser alteradas). Tentei no Postgres 12

create temp table test ( tasudok char(25), nimetus char (100) ) on commit drop ;
insert into test values ('123','Teie Arve 123 tasumine');
select nimetus ~* '*. '||tasudok||' *.' from test;

mas deu erro

ERRO: expressão regular inválida: operando quantificador inválido

Como usar correspondência de substring com o operador ~*?

sql
  • 2 respostas
  • 35 Views
Martin Hope
Andrus
Asked: 2024-08-11 05:24:25 +0800 CST

Como ativar o item do menu suspenso bootstrap pressionando a tecla do teclado

  • 5

A barra de navegação do Bootstrap 5 contém menus suspensos.
Os menus suspensos têm teclas de atalho sublinhadas como a, n, s, e:

<div class="btn-group">
  <button type="button" class="btn btn-danger dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
    Action
  </button>
  <ul class="dropdown-menu">
    <li><a class="dropdown-item" href="#"><u>A</u>ction</a></li>
    <li><a class="dropdown-item" href="#">A<u>n</u>other action</a></li>
    <li><a class="dropdown-item" href="#"><u>S</u>omething else here</a></li>
    <li><hr class="dropdown-divider"></li>
    <li><a class="dropdown-item" href="#">S<u>e</u>parated link</a></li>
  </ul>
</div>

Como ativar o item de menu se a tecla for pressionada no teclado? Por exemplo, se o menu suspenso estiver aberto, pressionar A deve agir como se o item do menu Ação fosse clicado.

jsfiddle: https://jsfiddle.net/b6or2s5e/

As setas esquerda e direita já são tratadas usando

Como usar as teclas de seta esquerda e direita para navegar na barra de navegação do bootstrap

document.addEventListener("DOMContentLoaded", function () {
  document.querySelectorAll('.dropdown').forEach(function (el) {
    el.addEventListener('shown.bs.dropdown', function () {
      document.addEventListener('keydown', function (e) {
        const click = new MouseEvent("click", {
          bubbles: true,
          cancelable: true,
          view: window,
        })
        if (e.key === "ArrowRight") {
          const o = getNextSibling(e.target.closest('.dropdown'), '.dropdown')
          if (!o) {
            document.querySelector('.dropdown-toggle').dispatchEvent(click)
          } else {
            o.querySelector('.Xdropdown-toggle').dispatchEvent(click)
          }
        } else if (e.key === "ArrowLeft") {
          const o = getPrevSibling(e.target.closest('.dropdown'), '.dropdown')
          if (!o) {
            const ar = document.querySelectorAll('.dropdown-toggle')
            ar[ar.length - 1].dispatchEvent(click)
          } else {
            o.querySelector('.dropdown-toggle').dispatchEvent(click)
          }
        }
      }, { once: true })
    })
  })
})

Como adicionar manipulação de teclas de atalho também?

javascript
  • 1 respostas
  • 41 Views
Martin Hope
Andrus
Asked: 2024-04-20 20:45:19 +0800 CST

Como extrair o número da fatura do topo como primeira correspondência após a palavra fatura

  • 6

A fatura contém a palavra Fatura seguida do número da fatura, como IN280625-3/4na área superior da fatura:

Payer:_xxxxxxx
Waybill Invoice_IN280625-3/4 Nimetus_EAN  
Invoice issuer: John
Selle Invoice tasumisel_palume m lisada Kesolev Invoice on poolte
vahel Invoice mittetähtaegsel tasumisel on müüjal õigus nõuda viivist 0,1% tasumata summalt päevas.
Kuni Invoice_IN280625-3/4 payment xxx

Extraindo o número da fatura IN280625-3/4usando c# .NET 8 regex

(?si).*Invoice[\s_:.]+(?<anr>[^\s_]+).+

para agrupar anr retorna a última correspondência, paymentpois há múltiplas ocorrências de palavra fatura. Como conseguir a primeira partida? A fatura do Word pode ocorrer em texto com combinação de palavras diferentes, portanto o padrão de pesquisa não pode ser aprimorado. Como obter a primeira palavra do topo do texto após palavra invoice?

O caso de teste está em https://regex101.com/r/vvDZpU/1

Como forçá-lo a retornar IN280625-3/4em vez de payment? O .NET 8 RegExp.Match tem essa opção?

Passando no topo do texto usando

var algus = tekst.IndexOf("Invoice", StringComparison.InvariantCultureIgnoreCase);
var tekst2 = tekst.Substring(algus, algus + 40);
var cnr2 = @"(?si).*Invoice[\s_:.]+(?<anr>[^\s_]+).+";
var match = RegExp.Match(tekst2, cnr);

Funciona, mas talvez haja uma opção melhor.

c#
  • 1 respostas
  • 43 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve