quarta-feira, 20 de dezembro de 2023

Unable to cast object of type 'System.Data.DataRowView' to type 'System.IConvertible'

 No meu caso, solucionei este problema realizando uma simples alteração


mova a primeira linha para a última:


Antes

comboBox.DataSource = dt; // this line
comboBox.DisplayMember = "nome";
comboBox.ValueMember = "id";

Depois

comboBox.DisplayMember = "nome";
comboBox.ValueMember = "id";
comboBox.DataSource = dt;

sábado, 16 de dezembro de 2023

instalar o Report Viewer no Visual Studio

 Para instalar o Report Viewer no Visual Studio 2019, siga os seguintes passos:

  1. Abra o Visual Studio 2019 e crie um projeto simples utilizando a plataforma Windows Forms.
  2. No menu superior, localize o item “Extensões/Gerenciar Extensões”.
  3. Clique na Aba “Online” e na caixa de pesquisa digite “rdlc”.
  4. Clique no primeiro item da pesquisa, que será o “Microsoft RDLC Report Designer”.
  5. Clique no botão “Download”.
  6. As alterações serão agendadas e começarão quando o Visual Studio for reiniciado.
  7. Para conferir se tudo ocorreu bem, clique com o botão direito sobre o projeto escolhendo “Adicionar/Novo Item …”. Na caixa pesquisar procure por “Relatório”, então iremos nos deparar com o item com extensão “.rdlc”.
  8. Para instalar as referências, acesse o item de menu “Ferramentas/Gerenciador de Pacotes do Nuget/Gerenciar pacotes do Nuget para a Solução…” e na caixa de pesquisa insira “reportviewercontrol”.
  9. Escolha a segunda opção “Microsoft.ReportingServices.ReportViewerControl.Winforms” e clique no botão “Instalar”.
  10. Ao término da instalação, será aberta uma tela contendo alguns informativos de como utilizar estas referências.

Espero ter ajudado! 😊

sexta-feira, 15 de dezembro de 2023

ASP.NET Core - Definir cultura para o formato brasileiro

 using System;

using System.Collections.Generic;

using System.Globalization;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;


namespace Reports_Design

{

    internal static class Program

    {

        /// <summary>

        /// Ponto de entrada principal para o aplicativo.

        /// </summary>

        [STAThread]

        static void Main()

        {

            // Define a cultura padrão como "pt-BR"

            CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("pt-BR");


            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new Form1());

        }

    }

}


terça-feira, 17 de outubro de 2023

Corrigir o erro: InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.RoleManager`1[Microsoft.AspNetCore.Identity.IdentityRole]' while attempting to activate

 builder.Services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)

    .AddRoles<IdentityRole>() // Corrigir o erro: InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNetCore.Identity.RoleManager`1[Microsoft.AspNetCore.Identity.IdentityRole]' while attempting to activate. Adicione esta linha

    .AddEntityFrameworkStores<ApplicationDbContext>();

quarta-feira, 23 de agosto de 2023

Vírus de smartphones

De acordo com um artigo da TyC Sports, o “malware Trojan” é um dos vírus mais recentes a se disfarçar de aplicativo. Esse malware inclui qualquer código, programa ou vírus incorporado no software de aplicativo para se assemelhar a uma parte segura da plataforma para invadir dispositivos e obter dados pessoais.

A empresa de segurança cibernética Kaspersky explica que o vírus “Fleckpe” é um tipo específico de malware tipo “cavalo de tróia”. Como resultado de sua natureza enganosa, esse golpe comprometeu 620.000 dispositivos móveis por meio de aplicativos. A Kaspersky define esse tipo de vírus como parte dos “Trojans de assinatura” que infectam smartphones agindo como uma assinatura de serviços de aplicativos específicos.

Assim que um usuário baixa o aplicativo e concede acesso aos seus dados pessoais, esses vírus invadem o dispositivo. O malware verifica as informações do usuário, como galerias de fotos, notificações e detalhes de localização, até detectar informações que permitem pagamentos online. A TyC Sports confirma que este vírus foi descoberto em 6 aplicativos relacionados à edição e design de fotos: Gif Camera Editor Pro, Night Cam Rea Pro, Microclip Video Editor, Photo Editor Toolbox, H4KS Wallpaper e Beauty Camera Plus Photo Editor.

Com isso em mente, medidas proativas de segurança cibernética são essenciais para proteger os dados pessoais dos usuários. A proteção mais direta contra golpes cibernéticos é baixar antimalware em smartphones. A instalação das atualizações mais recentes do sistema operacional é outro método para fortalecer a segurança dos dados pessoais. Os usuários também devem evitar se conectar a Wi-Fi público, pois a Verizon recomenda o uso de pontos de acesso móveis pessoais. Isso também se aplica a terminais de carregamento públicos que podem ser programados para hackear dispositivos móveis. Como o malware tem como alvo aplicativos específicos, os usuários devem sempre instalar aplicativos de lojas oficiais e revisar todas as políticas de privacidade.



TIPO DE DADOS - FLOAT X DOUBLE

  1. Tipos Reais (ou tipos de ponto flutuante) representam valores com um parte fracionária

  2. Tipo

    Tamanho em bytes

    Valor Positivo Mínimo

    Valor Máximo

    C++ Análogo

    float

    4

    1.175494351e-38

    3.402823466e+38

    float

    double

    8

    2.2250738585072014e-308

    1.7976931348623158e+308

    double


  3. A diferença entre o float e o double é a precisão, ou seja, o quanto varia, o quanto consegue expressar um valor próximo do real, é o número de casas decimais que ele consegue suportar.

    Esses tipos são chamados de ponto flutuante binários.


    1. O float normalmente possui 32 bits para representar o expoente e a mantissa, além do sinal. Dá pra representar muitos números, mas por sua natureza binária não consegue representar todos os números, então ele representa o que está mais próximo do que se deseja. Ele tem 24 dígitos de precisão e por isso é chamado de simples precisão.

    Tipo de número real float ocupa 32 bits (1 bit de sinal, 8 bits de expoente e 23 bits de mantissa).


    2. O double geralmente é representado por 64 bits, então consegue bem mais precisão, mas ainda não a exatidão já que a forma de representação também é binária. Tem 53 dígitos de precisão e é chamado de dupla precisão.

    Tipo de número real double ocupa 64 bits (1 bit de sinal, 11 bits de expoente e 52 bits de mantissa).





terça-feira, 15 de agosto de 2023

TÓPICOS DA ATA DE REUNIÃO

 

Tópicos da ata de reunião

Abaixo listamos os principais tópicos que toda ata de reunião deve conter, ou seja, são informações obrigatórias em uma ata.

· Data e local da reunião

· Partes interessadas

· Objetivos da reunião

· Assuntos discutidos

· Ações a serem tomadas

Data e local da reunião

Aqui você deve informar a data e o local onde a reunião foi realizada, se possível é recomendado que seja informada a hora de início e término da reunião.

Partes interessadas

São todos os participantes da reunião, incluindo aqueles que participam apenas como ouvintes (opcional). Deve ser documentado nome completo e cargo ou função de cada participante.

Objetivos da reunião

Esta sessão da ata é destinada à registrar de forma sucinta e objetiva a pauta geral da reunião. 

Assuntos discutidos

Nesta sessão você deve registrar os tópicos que foram objeto de discussão durante a realização da reunião de forma bem objetiva.

Ações a serem tomadas

Neste tópico você deve informar quais as ações decididas durante a reunião para cada um dos objetivos anteriores.


Espero ter ajudado.

domingo, 13 de agosto de 2023

INSERT INTO COM VÁRIOS SELECTsInsert into ... values ( SELECT ... FROM ... )


INSERT INTO ... VALUES ( SELECT ... FROM ... )


INSERT INTO SELECT

A instrução copia dados de uma tabela e insere em outra tabela.

A declaração exige que os tipos de dados nas tabelas de origem e de destino correspondem


Sintaxe:

INSERT INTO table2
SELECT * FROM table1
WHERE condition;


Copiar algumas colunas

INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;


Exemplo:

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;


Mas, se desejar você pode usar vários selects:

SET DATEFORMAT dmy

DROP TABLE IF EXISTS #tmpExtatistica;

CREATE TABLE #tmpExtatistica
(

    totalCB22 smallint null,
    totalCB21 smallint null,
    totalCB58 smallint null
)

INSERT INTO #tmpExtatistica (totalCB22, totalCB21, totalCB58) --, totalmes, media)
VALUES (

        (SELECT

            Count(Colpo_DigitacaoLaudo10) as totalCB22

            FROM colpo_DigitacaoLaudo

            WHERE Colpo_DigitacaoLaudoDataCadastro BETWEEN '01/01/2023' and '30/08/2023'

                AND Colpo_DigitacaoLaudo10 LIKE '%CB22%'

        )
        ,
        (SELECT

            Count(Colpo_DigitacaoLaudo10) as totalCB21

            FROM colpo_DigitacaoLaudo

            WHERE Colpo_DigitacaoLaudoDataCadastro BETWEEN '01/01/2023' and '30/08/2023'

                AND Colpo_DigitacaoLaudo10 LIKE '%CB21%'

        )  
        ,
        (SELECT

            Count(Colpo_DigitacaoLaudo10) as totalCB58

            FROM colpo_DigitacaoLaudo

            WHERE Colpo_DigitacaoLaudoDataCadastro BETWEEN '01/01/2023' and '30/08/2023'

                AND Colpo_DigitacaoLaudo10 LIKE '%CB58%'

        )  


)  

SELECT *
FROM #tmpExtatistica


Espero ter ajudado e até a próxima






quinta-feira, 3 de agosto de 2023

O QUE É .NET CORE?

.NET Core é um framework gratuito e de código aberto para construir muitos tipos diferentes de aplicativos. 

É uma reimplementação do .NET Framework para ser mais leve, modular e flexível. É desenvolvido principalmente pela Microsoft e lançado com a Licença MIT. 

O .NET Core é um framework multiplataforma que roda no Windows, Linux e macOS. 


O .NET Core oferece muitos benefícios, como:


  • É multiplataforma e pode ser executado no Windows, Linux e macOS 

  • É mais leve e modular em comparação com o .NET Framework 

  • Oferece melhor desempenho em comparação com o .NET Framework 

  • Suporta vários idiomas de programação 

  • É de código aberto e tem uma comunidade ativa 


Oferece suporte para desenvolvimento de aplicativos em nuvem, aplicativos nativos em nuvem, aplicativos de console, funções sem servidor na nuvem, aplicativos da web, APIs da web e microsserviços, aplicativos de cliente multiplataforma, aplicativos de desktop, jogos, aplicativos móveis, aplicativos do Windows, aplicativos do Windows Desktop, Windows Forms, Windows WPF, Plataforma Universal do Windows (UWP), serviços do Windows e outros tipos de aplicativos 

Além disso, o .NET Core é uma escolha popular para desenvolvedores que desejam criar aplicativos modernos e escaláveis. Ele oferece uma ampla gama de recursos e ferramentas para ajudar os desenvolvedores a criar aplicativos rapidamente. O .NET Core também é usado por muitas empresas em todo o mundo para criar aplicativos empresariais críticos. Espero que isso ajude!

sexta-feira, 21 de julho de 2023

SQL SERVER - TABELA NÃO PODE SER RECRIADA

 A solução é simples, apenas siga as imagens. Inicie abrindo a janela Opções do menu Ferramenta




Em seguida, desmarque a caixa de seleção Evitar salvar alterações que exijam recriação de tabela


Para finalizar, salve sua tabela. A mensagem, não será mais exibida.




Espero ter ajudado e até a próxima.