none
Como fazer uma tela de login em C# e Firebird? RRS feed

  • Pergunta

  • Olá a todos,

    Estou tentando desenvolver uma tela de login utilizando C# ( WPF ) e Firebird como banco de dados, mas não tenho a menor ideia de como funciona os comandos de conexao do firebird para montar o código dessa tela;

    A tela deverá conter apenas as seguintes coisas:

    -TextBox para o usuário
    -PasswordBox para senha
    -Botão entrar

    Anteriormente havia desenvolvido algo similar mais utilizando o MariaDB e gostaria de saber se é possível apenas alterar os comandos do MySQL para os do Firebird ou seria necessário desenvolver toda a estrutura novamente, segue abaixo o código:

     private void Button_Click_1(object sender, RoutedEventArgs e)
            {
                MySqlConnection conexao = new MySqlConnection("Server = 127.0.0.1; Uid = root; Database = bdteste; Port = 3306 ");
    
                try
                {
                    int i = 0;
                    String senha = tboxSenha.Password;
    
                    conexao.Open();
                    MySqlCommand cmd = conexao.CreateCommand();
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = "SELECT COUNT(*) AS Valor FROM funcionario WHERE Usuario ='" + tboxUsuario.Text + "' and Senha = '" + senha + "' ";
                    MySqlDataReader dtreader = cmd.ExecuteReader();
                    if (dtreader.Read())
                    {
                        i = Convert.ToInt32(dtreader["Valor"].ToString());
                    }
                    conexao.Close();
                    if (i == 0)
                    {
                        lblErro.Content = "Usuário ou Senha Inválidos";
                    }
                    else
                    {
                        this.Hide();
                        FRM_Principal principal = new FRM_Principal();
                        principal.Show();
    
                    }
                }
    
                catch (MySqlException ex)
                {
                    String erro = Convert.ToString(ex);
                    MessageBox.Show(erro);
                }

    No aguardo, Obrigado!

    sábado, 30 de dezembro de 2017 03:13

Respostas

  • Olá Gabriel Foli

    Bem vindo ao fórum,

    Bom o processo é bem simples, basta instalar o pacote do FirebirdSQL (FirebirdSql.Data.FirebirdClient) pelo gerenciador de pacotes do Nuget em seu Visual Studio.

    Existem alguns exemplos no site oficial, dê uma olhada aqui.

    Mesmo assim estarei deixando um exemplo aqui: (Aproveitando seu código)

    private void button1_Click(object sender, EventArgs e)
    {
        var connectionString =
            "User=SYSDBA;" +
            "Password=masterkey;" +
            "Database=bdteste.fdb;" +
            "DataSource=localhost;" +
            "Port=3050;" +
            "Dialect=3;" +
            "Charset=NONE;" +
            "Role=;" +
            "Connection lifetime=15;" +
            "Pooling=true;" +
            "Packet Size=8192;" +
            "ServerType=0";
    
        var conexao = new FbConnection(connectionString);
        try
        {
            int i = 0;
            String senha = tboxSenha.Password;
    
            conexao.Open();
            var cmd = conexao.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT COUNT(*) AS Valor FROM funcionario WHERE Usuario ='" + tboxUsuario.Text + "' and Senha = '" + senha + "' ";
            var dtreader = cmd.ExecuteReader();
            if (dtreader.Read())
            {
                i = Convert.ToInt32(dtreader["Valor"].ToString());
            }
            conexao.Close();
            if (i == 0)
            {
                lblErro.Content = "Usuário ou Senha Inválidos";
            }
            else
            {
                this.Hide();
                FRM_Principal principal = new FRM_Principal();
                principal.Show();
    
            }
        }
    
        catch (FbException ex)
        {
            String erro = ex.Message;
            MessageBox.Show(erro);
        }
    }

    Lembre de instalar o pacote do FirebirdClient como citei acima!

     

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Microsoft Developer .NET
    Microsoft Certified Professional
    Development Leader at JAMSOFT Informática
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta Gabriel Foli sábado, 30 de dezembro de 2017 19:10
    sábado, 30 de dezembro de 2017 04:10

Todas as Respostas

  • Olá Gabriel Foli

    Bem vindo ao fórum,

    Bom o processo é bem simples, basta instalar o pacote do FirebirdSQL (FirebirdSql.Data.FirebirdClient) pelo gerenciador de pacotes do Nuget em seu Visual Studio.

    Existem alguns exemplos no site oficial, dê uma olhada aqui.

    Mesmo assim estarei deixando um exemplo aqui: (Aproveitando seu código)

    private void button1_Click(object sender, EventArgs e)
    {
        var connectionString =
            "User=SYSDBA;" +
            "Password=masterkey;" +
            "Database=bdteste.fdb;" +
            "DataSource=localhost;" +
            "Port=3050;" +
            "Dialect=3;" +
            "Charset=NONE;" +
            "Role=;" +
            "Connection lifetime=15;" +
            "Pooling=true;" +
            "Packet Size=8192;" +
            "ServerType=0";
    
        var conexao = new FbConnection(connectionString);
        try
        {
            int i = 0;
            String senha = tboxSenha.Password;
    
            conexao.Open();
            var cmd = conexao.CreateCommand();
            cmd.CommandType = CommandType.Text;
            cmd.CommandText = "SELECT COUNT(*) AS Valor FROM funcionario WHERE Usuario ='" + tboxUsuario.Text + "' and Senha = '" + senha + "' ";
            var dtreader = cmd.ExecuteReader();
            if (dtreader.Read())
            {
                i = Convert.ToInt32(dtreader["Valor"].ToString());
            }
            conexao.Close();
            if (i == 0)
            {
                lblErro.Content = "Usuário ou Senha Inválidos";
            }
            else
            {
                this.Hide();
                FRM_Principal principal = new FRM_Principal();
                principal.Show();
    
            }
        }
    
        catch (FbException ex)
        {
            String erro = ex.Message;
            MessageBox.Show(erro);
        }
    }

    Lembre de instalar o pacote do FirebirdClient como citei acima!

     

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta!

    Rafael Almeida
    Microsoft Developer .NET
    Microsoft Certified Professional
    Development Leader at JAMSOFT Informática
    Email: ralms@ralms.net
    Blog -  GitHub  -  LinkedIn -  Twitter

    • Marcado como Resposta Gabriel Foli sábado, 30 de dezembro de 2017 19:10
    sábado, 30 de dezembro de 2017 04:10
  • Muito Obrigado Rafael!!!!!
    sábado, 30 de dezembro de 2017 19:11