Publicado em C#, C++, MySQL, Programação, WPF

Como obter o próximo id livre de uma tabela MySQL (C# WPF)

Mais uma dica que pode ser útil … mas apenas em monoposto!

Antes de inserir um novo registo, sem recurso ao AUTO_INCREMENT, podemos desejar saber o valor do campo chave, que será obtido incrementando o id de valor mais alto.

Deixo aqui uma forma de o conseguir que, embora pouco sofisticada, faz o serviço.

#region Calcular o próximo id livre
private void mostarBtn_Click(object sender, RoutedEventArgs e)
{
    try
    {
        ligacaoBD.Open();
        string stm = "select max(idContacto) as x from contacto";
        MySqlCommand cmd = new MySqlCommand(stm, ligacaoBD);
        int id;
        Int32.TryParse(cmd.ExecuteScalar().ToString(), out id);
        id++;
        MessageBox.Show("O próximo id é " + id.ToString());
    }
    catch
    {
        MessageBox.Show("Erro!");
    }
        finally
    {
        ligacaoBD.Close();
    }

}
#endregion

Link para download da base de dados e código:

https://app.box.com/s/r1bqtvburr1dknn2455ntzenyadvs6ln

Publicado em C#, MySQL, Programação, WPF

Manipulação de imagens associadas a um “Image Control” – Ficheiro> source>MySQL

trio3

Com este exemplo pretendo demonstrar algumas formas de manipular imagens no contexto de uma aplicação escrita na linguagem C# (WPF). Para o efeito vamos considerar a imagem quando armazenada num ficheiro de disco, a imagem carregada para o controlo Image e a imagem quando armazenada numa base de dados (MySQL).

Por uma questão de simplificação apenas vou considerar o formato JPEG.

Em síntese, com a aplicação aqui apresentada, pretendo dar resposta às seguintes questões:

  • Como carregar a imagem de um Resource Dictionary para um controlo Image?
  • Como carregar uma imagem armazenada em disco para um controlo Image?
  • Como carregar os dados da base de dados para a DataGrid, sendo um dos campos do tipo BLOB?
  • Como inserir um registo na base de dados, sendo um dos campos do tipo imagem (Blob)?
  • Como copiar uma imagem do registo selecionada na DataGrid para outra imagem (área de preview)?
  • Como guardar em disco uma imagem exibida num controlo Image?
  • Como guardar em disco uma imagem exibida num campo de uma DataGrid?
  • Como copiar a imagem exibida num campo de uma DataGrid para um controlo Image?

O Código completo pode ser descarregado aqui. Continue reading “Manipulação de imagens associadas a um “Image Control” – Ficheiro> source>MySQL”

Publicado em C#, MySQL, WPF

Carregar DataGrid a partir de uma tabela MySQL (C# e WPF)

Este exemplo muito simples pretende apenas indicar uma forma de carregar os dados de uma tabela, armazenada numa base de dados MySQL, para uma controlo Datagrid.

datagridmysql01 Continue reading “Carregar DataGrid a partir de uma tabela MySQL (C# e WPF)”

Publicado em MySQL

Configurar o phpMyAdmin no XAMPP

Ao realizar uma instalação do XAMPP, e dependendo dos componentes selecionados, podemos encontrar uma série de obstáculos iniciais, quando apenas pretendemos uma utilização rápida e sem complicações.

Independentemente disso, o XAMPP continua a se uma alternativa rápida e muito mais simples do que instalar tudo manualmente.

No meu caso, apenas selecionei o servidor Apache durante a instalação.

Vou tentar tentar resumir a sequência “ERRO”, “SOLUÇÃO”.

#1 – ERRO: #1045 – Access denied for user ‘root’@’localhost’ (using password: YES Continue reading “Configurar o phpMyAdmin no XAMPP”

Publicado em C++, Exemplos Qt, MySQL, Programação, Qt

Carregar uma imagem a partir do disco(png) para uma base de dadosMySql utilizando Qt

Título em Inglês: Load image from disk (png) to a MySql database using Qt

Este exemplo surgiu da necessidade de exemplificar uma forma de gravar uma imagem numa base de dados.

Uma aplicação muito simples seria 0 armazenamento das fotografias dos sócios de um determinado clube!

O processo que descrevo é no entanto bem mais versátil, pois com pequenas alterações, podemos armazenar praticamente qualque tipo de ficheiro binário na base de dados. Para o efeito vamos utilizar um campo do tipo BLOB.

Disponibilizo um exemplo de aplicação: https://app.box.com/s/l8d3xdbzafuie8e56f1y

Vejam o vídeo que contém a demonstração.

 

Publicado em C++, Exemplos Qt, MySQL, Programação, Qt

DB03 – Exemplos de escrita de uma aplicação para Acesso a Base de Dados

Mais um exemplo, que surge na sequência dos dois anteriormente publicados:

  1. DB01
  2. DB02

Neste caso, acescento uma nova funcionalidade, que consiste na sincronização de uma QTableView com um QDataWidgetMapper, ambos ligados ao mesmo modelo (QSqlRelationalTableModel).

db03_1

db03_2

Ainda falta corrigir alguns bugs, mas aceitam-se reclamações!

Fazer o download do exemplo: db03_v1

Publicado em C++, Exemplos Qt, MySQL, Programação, Qt

DB01 – Exemplos de escrita de uma aplicação para Acesso a Base de Dados

db01

Com este exemplo pretendo sintetizar os aspetos mais elementares necessários à criação de uma aplicação que gere o acesso a uma base de dados.

Vou tentar resumir este assunto nos pontos seguintes, de forma a permitir que, aqueles que venham a sentir curiosidade por esta abordagem, a possam testar sem ter que atravessar um deserto de explicações complexas e por vezes contraditórias.

Vamos dividir a abordagem nos seguintes pontos:

  1. Instalar e configurar as ferramentas necessárias.
  2. Download e teste do exemplo

Continue reading “DB01 – Exemplos de escrita de uma aplicação para Acesso a Base de Dados”

Publicado em MySQL

Como instalar o MySQL Server em Windows 7

O servidor de MySQL pode ser facilmente instalado se recorrermos ao respetivo instalador automático.

Este permite escolher quais os componentes que pretendemos instalar, adaptando-se desta forma às nossas necessidades.

Esta instalação visa essencialmente disponibilizar o Servidor, bem como algumas bibliotecas necessárias à compilação do plugin do Qt.

Vídeo da instalação:

Notas:

  • Caminho absoluto da instalação do Servidor

C:\\PROGRA~1\\MySQL\\MYSQLS~1.6

  • Caminho absoluto ara a biblioteca mysql.h

C:\\PROGRA~1\\MySQL\\MYSQLS~1.6\\include

  • Caminho absoluto para a biblioteca libmysql

C:\\PROGRA~1\\MySQL\\MYSQLS~1.6\\lib

Publicado em MySQL, Uncategorized

MySQL Server no Windows – Fazer login como root vs utilizador normal

As versões mais recentes do MySQL Server disponibilizam o acesso à linha de comandos do servidor numa consola pré-configurada.

Esta está por defeito associada à conta root e apenas é necessário digitar a palavra passe.

mysqlconsola

Assim sendo, como proceder de forma a fazer login especificando o utilizador?

Nos exemplos seguintes vou assumir que o MySQL Server está instalado em:

C:\PROGRA~1\MySQL\MYSQLS~1.6\bin

#1 login como root

Abra uma consola (cmd) e digite:

C:\PROGRA~1\MySQL\MYSQLS~1.6\bin\mysql -u root -p

consolaroot

#2 login como user

Abra uma consola (cmd) e digite:

C:\PROGRA~1\MySQL\MYSQLS~1.6\bin\mysql -u user -p

consolauser