none
Manipulando dados do BD RRS feed

  • Pergunta

  • Quando estou fazendo um consulta, por exemplo: se o acc == pass, retornando todos os dados do cliente em variáveis. Como:

     

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using MySql.Data.MySqlClient;
    
    namespace Imob
    {
     public class Conexao
     {
      
      
      
      MySqlConnection conn = null;
      
      string _conn = "server=localhost;user id=root;password=030594;database=imob;";
    
      public bool TentarLogar(string user, string senha)
      {
       bool autenticado = false;
       
       string sql = "SELECT * FROM usuarios WHERE usuario='" + user + "' and senha='" + senha + "';";
       MySqlConnection conn = new MySqlConnection(_conn);
       MySqlCommand cmd = new MySqlCommand(sql, conn);
       conn.Open();
       MySqlDataReader dr = cmd.ExecuteReader();
       try
       {
        if (dr.Read())
        {
         Tipos tipos = new Tipos();
         tipos.AccountID = (int)dr["id_usuario"];
         tipos.Username = (string)dr["usuario"];
         tipos.Senha = (string)dr["senha"];
         tipos.UltimoLogin = (DateTime)dr["ultimo_login"];
         autenticado = true;
         dr.Close();
        }
    
        conn.Close();    
    
    
       }
       catch (Exception e)
       {    
        autenticado = false;
        System.Windows.Forms.MessageBox.Show(e.Message.ToString());
       }
       return autenticado;
      }
    }
    }
    

     

    estou usando o metodo MessageBox.Show("Logado, " + tipos.Username);

    so que nao ta retornando valor nenhum. Alguém sabe o pq?


    terça-feira, 5 de abril de 2011 15:55

Respostas

  • Eu postei meu código, quero apenas passa valores do DB para variáveis, para manipula-las posteriormente.

    Troca este if. Esta mal

    Tens de fazer assim

    if (dr.HasRow())

    {

    While(dr.Read())

    {

    Tipos tipos = new Tipos();
       tipos.AccountID = (int)dr["id_usuario"].ToString();
       tipos.Username = (string)dr["usuario"].ToString();
       tipos.Senha = (string)dr["senha"].ToString();
       tipos.UltimoLogin = (DateTime)dr["ultimo_login"].ToString();
       autenticado = true;
       dr.Close();
         
    }
    conn.Close();  
    
    
      }
      catch (Exception e)
      {  
      autenticado = false;
      System.Windows.Forms.MessageBox.Show(e.Message.ToString());
      }
     else
    {
     System.Windows.Forms.MessageBox.Show("Nao existe informacao no seu datareader");
    return autenticado; } } }

     

     


    Just Be Humble Malange!
    quarta-feira, 6 de abril de 2011 23:23

Todas as Respostas

  • Se voce quer visualizar tens de chamar o procedimento ou a funcao num datagridview etc...

     public List<Tabela_Copy> Carregarr()

                       {

     

                           List<Tabela_Copy> informacao = new List<Tabela_Copy>();

     

                           SqlCommand command = new SqlCommand("Select * From Table_Copy", this.sqlCn);

                           SqlDataAdapter adpter = new SqlDataAdapter(command);

                           DataTable dt = new DataTable();

     

                           adpter.Fill(dt);

     

                            {

     

                                foreach (DataRow dr in dt.Rows)

                                {

     

                                    Tabela_Copy Encher = new Tabela_Copy();

                                    Encher.Primeiro_Nome = (string)dr["FirstName"].ToString();

                                    Encher.Ultimo_Nome = (string)dr["LastName"].ToString();

                                    Encher.Endereco = (string)dr["Address"].ToString();

                                    Encher.Auto_Number = (string)dr["IDD"].ToString();

     

                                    informacao.Add(Encher);

                                }

                           }

                          return informacao;

                       }

     

    Estiver numa class entao chamas assim:

     minhaclass dl = new minhaclass();

     this.dataGridView1.DataSource = dl.Carregarr();


    Just Be Humble Malange!
    • Sugerido como Resposta Luiz Estevam terça-feira, 5 de abril de 2011 16:43
    terça-feira, 5 de abril de 2011 16:13
  • Bom na verdade eu queria que os dados do BD passassem para uma variável, que ao longo do programa eu pudesse altera-lá ou etc.
    terça-feira, 5 de abril de 2011 16:23
  • Bom na verdade eu queria que os dados do BD passassem para uma variável, que ao longo do programa eu pudesse altera-lá ou etc.

    Se voce quer fazer isto tens de usar: SqlDataAdapter;

    Voce pode carregar a informacao num dataset com SqlDataAdapter e manipular quando quizeres ou alterar quando bem entenderes.

     


    Just Be Humble Malange!
    terça-feira, 5 de abril de 2011 16:28
  • Eu postei meu código, quero apenas passa valores do DB para variáveis, para manipula-las posteriormente.

    quarta-feira, 6 de abril de 2011 20:08
  • Eu postei meu código, quero apenas passa valores do DB para variáveis, para manipula-las posteriormente.

    Troca este if. Esta mal

    Tens de fazer assim

    if (dr.HasRow())

    {

    While(dr.Read())

    {

    Tipos tipos = new Tipos();
       tipos.AccountID = (int)dr["id_usuario"].ToString();
       tipos.Username = (string)dr["usuario"].ToString();
       tipos.Senha = (string)dr["senha"].ToString();
       tipos.UltimoLogin = (DateTime)dr["ultimo_login"].ToString();
       autenticado = true;
       dr.Close();
         
    }
    conn.Close();  
    
    
      }
      catch (Exception e)
      {  
      autenticado = false;
      System.Windows.Forms.MessageBox.Show(e.Message.ToString());
      }
     else
    {
     System.Windows.Forms.MessageBox.Show("Nao existe informacao no seu datareader");
    return autenticado; } } }

     

     


    Just Be Humble Malange!
    quarta-feira, 6 de abril de 2011 23:23