none
C# - WINDOWS FORM – CONSULTA SQL COM PARAMETRO RRS feed

  • Pergunta

  • Olá

    Como posso efetuar uma consulta no Banco de Dados (Select) tendo como base a cláusula WHERE (onde condiciona dois combobox (cbMes e cbAno)) que se a consulta obtiver registros exibe no outro form através da passagem dos parâmetro (dois combobx- cbMes e cbAno)) e se não houver registros, exibe uma message.box (não tem registros) e não abre o outro form?

    Ex:   SELECT * FROM TABELA WHERE  codMes =“”+cbMes+”’ and codAno=“”+cbAno+”’

    Se  alguém  puder auxiliar

    Dilson

    segunda-feira, 17 de março de 2014 14:00

Respostas

  • No seu novo Form que você quer que seja aberto, você cria o código abaixo.
    public Form2(DataTable dt)
    {
       DataGridView1.DataSource = dt;
    }
    


    Se a sugestão resolver o problema, favor marcar como Resposta.

    • Marcado como Resposta DilsonDG segunda-feira, 17 de março de 2014 17:38
    segunda-feira, 17 de março de 2014 17:13

Todas as Respostas

  • protected void MontaSelect() { try { using(SqlConnection conexao = new SqlConnection("Sua string de conexao aqui")) { SqlCommand comando = new SqlCommand("SEU SELECT", conexao); conexao.Open(); cmd.ExecuteNonQuery(); SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); da.Fill(dt); if (dt.Rows.Count > 0) { Form2 novoForm = new Form2(dt);
    novoForm.Show(); } else { // alerta } } } catch(Exception e) { // trate seus erros aqui } }

    Crie o Form2, com um construtor que aceite um DataTable como parametro, que já virá com o resultado do seu select.

    Se a sugestão resolver o problema, favor marcar como Resposta.

    segunda-feira, 17 de março de 2014 14:48
  • Obrigado, Lucas

    Só mais uma dúvida, como não estou acostumado a lidar com construtores:

    Como crio o construtor no form2 passando este Datatable e exibindo o resultano numa datagridview?

    Grato

    Dilson

    segunda-feira, 17 de março de 2014 17:00
  • No seu novo Form que você quer que seja aberto, você cria o código abaixo.
    public Form2(DataTable dt)
    {
       DataGridView1.DataSource = dt;
    }
    


    Se a sugestão resolver o problema, favor marcar como Resposta.

    • Marcado como Resposta DilsonDG segunda-feira, 17 de março de 2014 17:38
    segunda-feira, 17 de março de 2014 17:13