none
Preenchimento de campo atravez de um textbox RRS feed

  • Pergunta

  • Bom dia..

    Tenho um select no sql, que para este select funcionar preciso que seja digitado o campo data inicial, data final e produto 1, produto 2, produto 3.

    So que o usuário não pode digitar direto no select, então criei um form, mas não consegui fazer com que estes campos do select sejam preenchidos pelo textbox do form, quando o usuário digitar.

    Muito obrigado.


    JUNIOR GUERREIRO T.I

    terça-feira, 3 de janeiro de 2017 13:11

Respostas

  • Junior,

    É possível, mas depende como quer mostrar esses dados.

    Se quiser em formato de Grid, pode adicionar uma dataGrigView no seu form e colocar isso no seu código:

    var dt = new DataTable();
    dt.Load(reader);
    dataGridView1.AutoGenerateColumns = true;
    dataGridView1.DataSource = dt;
    dataGridView1.Refresh();

    Valeu!


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

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta Junior Guerreiro quarta-feira, 4 de janeiro de 2017 16:20
    quarta-feira, 4 de janeiro de 2017 10:28

Todas as Respostas

  • Olá,

    Como está seu código, pode postar?


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

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 3 de janeiro de 2017 13:26
  • Desculpe não entendi, vc quer o codigo no c# ou o select o sql, porque o codigo do c# não criei nada, só criei o form,

    abaixo esta o select no sql. Em negrito está o que precisa ser preenchido pelo texbox do from.

    SELECT DISTINCT
        SA.A3_NOME,
        SB.B1_DESC,
        SUM(SB.B1_PESO * SD.D2_QUANT) AS QTDA,
        SB.B1_LOTVEN AS META,
        SUM(SB.B1_PESO * SD.D2_QUANT / SB.B1_LOTVEN * 100) AS PERCENTUAL
    FROM  SD2020 AS SD
          INNER JOIN SB1020 AS SB WITH (NOLOCK) ON SB.B1_COD = SD.D2_COD
          INNER JOIN SC5020 AS SC WITH (NOLOCK) ON SC.C5_NUM = SD.D2_PEDIDO
          INNER JOIN SA3020 AS SA WITH (NOLOCK) ON SA.A3_COD = SC.C5_VEND1
          WHERE SD.D_E_L_E_T_ <> '*'
          AND SD.D2_CF IN ('5102', '5117', '5119', '5123', '5124', '5403', '5405', '6102', '6108', '6110', '6117', '6119', '6123', '6124', '6403', '6405', '7102')
          AND SD.D2_EMISSAO BETWEEN CONVERT(datetime,'01/01/2017', 103) AND CONVERT(datetime,'31/01/2017', 103)
          AND SB.B1_COD IN ('003406', '000977', '000976')
    GROUP BY SB.B1_DESC, SA.A3_NOME, SB.B1_LOTVEN
    ORDER BY SB.B1_DESC


    JUNIOR GUERREIRO T.I

    terça-feira, 3 de janeiro de 2017 13:40
  • Pensei que já tivesse o código C# interagindo com sua query SQL.

    Segue um exemplo para se basear e implementar o seu:

    SqlConnection sqlConnection1 = new SqlConnection("Sua Connection String");
    SqlCommand cmd = new SqlCommand();
    SqlDataReader reader;
    
    cmd.CommandText = "SELECT * FROM Tabela WHERE Coluna1 = @Valor1";
    cmd.CommandType = CommandType.Text;
    SqlParameter valor1 = new SqlParameter("@Valor1", textbox1.Text);
    cmd.Parameters.Add(valor1);
    cmd.Connection = sqlConnection1;
    
    sqlConnection1.Open();
    
    reader = cmd.ExecuteReader();
    
    sqlConnection1.Close();


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

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    terça-feira, 3 de janeiro de 2017 15:35
  • André obrigado,

    consegui preencher os campos do select através de dados digitados no form.
    Agora preciso mostrar o resultado do select direto no form, é possível? Se for como faço isso.


    JUNIOR GUERREIRO T.I



    terça-feira, 3 de janeiro de 2017 16:34
  • Junior,

    É possível, mas depende como quer mostrar esses dados.

    Se quiser em formato de Grid, pode adicionar uma dataGrigView no seu form e colocar isso no seu código:

    var dt = new DataTable();
    dt.Load(reader);
    dataGridView1.AutoGenerateColumns = true;
    dataGridView1.DataSource = dt;
    dataGridView1.Refresh();

    Valeu!


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

    André Secco
    Microsoft MVP & MSDN Tech Advisor
    Blog: http://andresecco.com.br
    GitHub: http://github.com/andreluizsecco
    Twitter: @andre_secco

    • Marcado como Resposta Junior Guerreiro quarta-feira, 4 de janeiro de 2017 16:20
    quarta-feira, 4 de janeiro de 2017 10:28
  • Obrigado André funcionou perfeitamente.

    JUNIOR GUERREIRO T.I

    quarta-feira, 4 de janeiro de 2017 16:20