none
Pesquisa RRS feed

  • Pergunta

  • Boa noite. Como é que eu faço uma pesquisa do conteudo da Combobox, a uma tabela no SQL?  E de seguida..carregar na GridView? Agradeço toda  ajuda. Muito Obrigado
    terça-feira, 9 de abril de 2013 21:35

Respostas

  • Olá,

    Código:

    public void Pesquisa()
    {
        try
        {
            string Select = "SELECT * " +
                            "FROM FaturasEntidades " +
                            "WHERE Entidade = '" + Form1.EntidadePesquisa.Text + "';";
            SqlCommand cmd = new SqlCommand(Select, myConnection);
    
            //abre a conexao
            myConnection.Open();
    
            //define o tipo do comando 
            cmd.CommandType = CommandType.Text;
            //cria um dataadapter
            SqlDataAdapter da = new SqlDataAdapter(cmd);
    
            //cria um objeto datatable
            DataTable entidade = new DataTable();
    
            //preenche o datatable via dataadapter
            da.Fill(entidade);
    
            //atribui o datatable ao datagridview para exibir o resultado
            Form1.MyGrid.DataSource = entidade;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
        finally
        {
            myConnection.Close();
        }  
    }

    Cumpz, ADAE.




    • Editado AD_AE quarta-feira, 10 de abril de 2013 16:35 Correção do nome da Grid
    • Marcado como Resposta NunoFalé quarta-feira, 10 de abril de 2013 17:03
    quarta-feira, 10 de abril de 2013 16:24
  • Olá,

    Código:

    public void Pesquisa()
    {
        try
        {
            string Select = "SELECT * " +
                            "FROM FaturasEntidades " +
                            "WHERE Entidade = '" + Form1.EntidadePesquisa.Text + "';";
            SqlCommand cmd = new SqlCommand(Select, myConnection);
    
            //abre a conexao
            myConnection.Open();
    
            //define o tipo do comando 
            cmd.CommandType = CommandType.Text;
            //cria um dataadapter
            SqlDataAdapter da = new SqlDataAdapter(cmd);
    
            //cria um objeto datatable
            DataTable entidade = new DataTable();
    
            //preenche o datatable via dataadapter
            da.Fill(entidade);
    
            //atribui o datatable ao datagridview para exibir o resultado
            Form1.MyGrid.DataSource = entidade;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
        finally
        {
            myConnection.Close();
        }  
    }

    Cumpz, ADAE.




    Retorna vazio..como se não tivesse valores.

    Já funciona..retirei a string e coloquei assim:

     SqlCommand cmd = new SqlCommand("SELECT * FROM FaturasEntidades WHERE entidade = '" + Form1.Entidade.Text + "'", myConnection);

    OBRIGADÃO

    quarta-feira, 10 de abril de 2013 17:03

Todas as Respostas

  • Eu recomendo ver esses videos... se você ainda não tiver uma conexão com banco banco de dados...

    Crud Básico em Windows Forms, com C# e SQL Server

    terça-feira, 9 de abril de 2013 22:19
  • Olá,

    Se bem entendi a sua dúvida, o que vc quer é ao mudar o conteúdo da Combo, a grid e os restantes componentes sejam atualizados para a opção selecionada. Correto?

    Para isso, vc no SelectChange da sua Combo, vc faz o seu código (abrir ligação, etc.), ou chama seu método, caso tenha.

    Para preencher a grid, não sei se vc já tem algum código que preencha os dados, caso tenha, na sua query vc vai fazer o SELECT onde seu campo for igual ao conteudo de seu combo.

    Caso não tenha, deixe ai o pouco que vc tem, e assim que puder venho aqui ver a situação e de seguida lhe respondei, caso nenhum membro já lhe tenha esclarecido.

    Cumpz, ADAE.

    terça-feira, 9 de abril de 2013 22:53
  • Olá,

    Se bem entendi a sua dúvida, o que vc quer é ao mudar o conteúdo da Combo, a grid e os restantes componentes sejam atualizados para a opção selecionada. Correto?

    Para isso, vc no SelectChange da sua Combo, vc faz o seu código (abrir ligação, etc.), ou chama seu método, caso tenha.

    Para preencher a grid, não sei se vc já tem algum código que preencha os dados, caso tenha, na sua query vc vai fazer o SELECT onde seu campo for igual ao conteudo de seu combo.

    Caso não tenha, deixe ai o pouco que vc tem, e assim que puder venho aqui ver a situação e de seguida lhe respondei, caso nenhum membro já lhe tenha esclarecido.

    Cumpz, ADAE.

    Você tem me ajudado imenso..o que pretendo neste caso, por exemplo... na combobox tenho a palavra "TESTE", que é da coluna Entidades, o que pretendo é que ao colocar essa palavra ele me retorne todos os nomes "TESTE" que estão na coluna entidade, para dentro da gridview..se tiver por ai algum exemplo, agradecia.

    Muito Obrigado

     
    quarta-feira, 10 de abril de 2013 14:17
  • Olá,

    Bem agora passando ao código.

    string strProvider = ... // seu provider
    
    string strSql = "SELECT Nome FROM SuaTabela WHERE Entidade = 'Teste'";
    
    //cria a conexão com o banco de dados
    SqlConnection con = new SqlConnection(strProvider);
    //cria o objeto command para executar a instruçao sql
    SqlCommand cmd = new SqlCommand(strSql, con);
    
    //abre a conexao
    con.Open();
    
    //define o tipo do comando 
    cmd.CommandType = CommandType.Text;
    //cria um dataadapter
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    
    //cria um objeto datatable
    DataTable entidade = new DataTable();
    
    //preenche o datatable via dataadapter
    da.Fill(entidade);
    
    //atribui o datatable ao datagridview para exibir o resultado
    dataGridView1.DataSource = entidade;
    Cumpz, ADAE.
    • Editado AD_AE quarta-feira, 10 de abril de 2013 15:30
    quarta-feira, 10 de abril de 2013 15:08
  • Olá,

    Bem agora passando ao código.

    string strProvider = ... // seu provider
    
    string strSql = "SELECT Nome FROM SuaTabela WHERE Entidade = 'Teste'";
    
    //cria a conexão com o banco de dados
    SqlConnection con = new SqlConnection(strProvider);
    //cria o objeto command para executar a instruçao sql
    SqlCommand cmd = new SqlCommand(strSql, con);
    
    //abre a conexao
    con.Open();
    
    //define o tipo do comando 
    cmd.CommandType = CommandType.Text;
    //cria um dataadapter
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    
    //cria um objeto datatable
    DataTable entidade = new DataTable();
    
    //preenche o datatable via dataadapter
    da.Fill(entidade);
    
    //atribui o datatable ao datagridview para exibir o resultado
    dataGridView1.DataSource = entidade;
    Cumpz, ADAE.

    oi novamente..

    eu criei o seguinte metodo

    public void Pesquisa()
            {
                try
                {
                    DataTable dt = new DataTable();
                    SqlDataAdapter cmd = new SqlDataAdapter("SELECT * FROM FaturasEntidades WHERE ID = " + Form1.EntidadePesquisa.Text, myConnection);
                    cmd.Fill(dt);
                    Form1.MyGrid.DataSource = dt;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                finally
                {
                    myConnection.Close();
                }

            }

    Se pesquisar pelo ID, ele encontra os valores e coloca na Grid, se pesquisar por o campo entidade, dá-me erro...não percebo

    e se colocar assim: 

     public void Pesquisa()
            {
                try
                {
                    DataTable dt = new DataTable();
                    SqlDataAdapter cmd = new SqlDataAdapter("SELECT * FROM FaturasEntidades WHERE entidade = " + Form1.EntidadePesquisa.Text, myConnection);
                    cmd.Fill(dt);
                    Form1.MyGrid.DataSource = dt;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                finally
                {
                    myConnection.Close();
                }

            }

    Diz que a coluna é inválida

    quarta-feira, 10 de abril de 2013 16:10
  • Olá,

    Código:

    public void Pesquisa()
    {
        try
        {
            string Select = "SELECT * " +
                            "FROM FaturasEntidades " +
                            "WHERE Entidade = '" + Form1.EntidadePesquisa.Text + "';";
            SqlCommand cmd = new SqlCommand(Select, myConnection);
    
            //abre a conexao
            myConnection.Open();
    
            //define o tipo do comando 
            cmd.CommandType = CommandType.Text;
            //cria um dataadapter
            SqlDataAdapter da = new SqlDataAdapter(cmd);
    
            //cria um objeto datatable
            DataTable entidade = new DataTable();
    
            //preenche o datatable via dataadapter
            da.Fill(entidade);
    
            //atribui o datatable ao datagridview para exibir o resultado
            Form1.MyGrid.DataSource = entidade;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
        finally
        {
            myConnection.Close();
        }  
    }

    Cumpz, ADAE.




    • Editado AD_AE quarta-feira, 10 de abril de 2013 16:35 Correção do nome da Grid
    • Marcado como Resposta NunoFalé quarta-feira, 10 de abril de 2013 17:03
    quarta-feira, 10 de abril de 2013 16:24
  • Olá,

    Código:

    public void Pesquisa()
    {
        try
        {
            string Select = "SELECT * " +
                            "FROM FaturasEntidades " +
                            "WHERE Entidade = '" + Form1.EntidadePesquisa.Text + "';";
            SqlCommand cmd = new SqlCommand(Select, myConnection);
    
            //abre a conexao
            myConnection.Open();
    
            //define o tipo do comando 
            cmd.CommandType = CommandType.Text;
            //cria um dataadapter
            SqlDataAdapter da = new SqlDataAdapter(cmd);
    
            //cria um objeto datatable
            DataTable entidade = new DataTable();
    
            //preenche o datatable via dataadapter
            da.Fill(entidade);
    
            //atribui o datatable ao datagridview para exibir o resultado
            Form1.MyGrid.DataSource = entidade;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
        finally
        {
            myConnection.Close();
        }  
    }

    Cumpz, ADAE.




    Retorna vazio..como se não tivesse valores.
    quarta-feira, 10 de abril de 2013 16:59
  • Olá,

    Código:

    public void Pesquisa()
    {
        try
        {
            string Select = "SELECT * " +
                            "FROM FaturasEntidades " +
                            "WHERE Entidade = '" + Form1.EntidadePesquisa.Text + "';";
            SqlCommand cmd = new SqlCommand(Select, myConnection);
    
            //abre a conexao
            myConnection.Open();
    
            //define o tipo do comando 
            cmd.CommandType = CommandType.Text;
            //cria um dataadapter
            SqlDataAdapter da = new SqlDataAdapter(cmd);
    
            //cria um objeto datatable
            DataTable entidade = new DataTable();
    
            //preenche o datatable via dataadapter
            da.Fill(entidade);
    
            //atribui o datatable ao datagridview para exibir o resultado
            Form1.MyGrid.DataSource = entidade;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message.ToString());
        }
        finally
        {
            myConnection.Close();
        }  
    }

    Cumpz, ADAE.




    Retorna vazio..como se não tivesse valores.

    Já funciona..retirei a string e coloquei assim:

     SqlCommand cmd = new SqlCommand("SELECT * FROM FaturasEntidades WHERE entidade = '" + Form1.Entidade.Text + "'", myConnection);

    OBRIGADÃO

    quarta-feira, 10 de abril de 2013 17:03