none
Selecionar linha no datagridwier e gravar no banco de dados em c# RRS feed

  • Pergunta

  • Tenho um datagridviwer populado por um query do banco de dados sql, nesse datagrid tenho uma coluna com um chekbox, agora vem minha duvida, como faço pra gravar no banco de dados quando a linha tiver sido selecionada pelo usuario no chekbox, sendo que eu preciso enxergar a coluna selecionar do datagridviwe se esta marcada.

    segue minha tela do datagrid 

    código hoje onde faço o insert no banco mas sem funcionar o chekbox

    private void ncheklist()
    {
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = @"INSERT INTO TBL_CHEKLIST (N_NOTA, CLIENTE, TRANSP, VOLUME, N_CHEKLIST, EMISSAO) 
                          VALUES (@NOTA, @CLIENTE, @TRANSP, @VOLUME, @CHEKLIST, @EMISSAO)";
        cmd.Connection = conex1;
        conex1.Open();
    
        cmd.Parameters.Add(new SqlParameter("@NOTA", this.txt_nota.Text));
        cmd.Parameters.Add(new SqlParameter("@CLIENTE", this.txt_cliente.Text));
        cmd.Parameters.Add(new SqlParameter("@TRANSP", this.txt_transp.Text));
        cmd.Parameters.Add(new SqlParameter("@VOLUME", this.txt_volume.Text));
        cmd.Parameters.Add(new SqlParameter("@CHEKLIST", this.txt_nchklist.Text));
        cmd.Parameters.Add(new SqlParameter("@EMISSAO", Convert.ToDateTime(txt_dtinicial.Text).ToString("yyyy/MM/dd").Replace("/", "")));
    
        cmd.ExecuteNonQuery();
        conex1.Close();
    }


    JUNIOR GUERREIRO T.I

    terça-feira, 26 de setembro de 2017 14:31

Respostas

  • Junior Não sei se isso lhe ajudará muito mas é o que eu faria!

    1 - Contaria o total de dados no dgv (datagridview.Rows.Count)

    2 - Depois faria uma for percorrendo cada Linha 

    for(int i = 0; i <= dgv.Rows.Count ; i++)

    {

         //depois faria um if em cada linha

         if(dgv[0, i].Checkbox == true)

        {

                 /*Aqui informaria o dhv com os dados e salvaria no banco SQL*/

                string nota = dgv[1, i].value.tostring();

                string cliente = dgv[2, i].value.tostring();

                string transportadora = dgv[3, i].value.tostring();

                 string volume = dgv[4, i].value.tostring();

    md.CommandText = @"INSERT INTO TBL_CHEKLIST (N_NOTA, CLIENTE, TRANSP, VOLUME, N_CHEKLIST, EMISSAO) 
                          VALUES ('"+nota+"', '"+cliente+"', '"+transportadora+"',  '"+volume+"' )";

               

         }

    }

         

    • Marcado como Resposta Junior Guerreiro sexta-feira, 29 de setembro de 2017 18:10
    quarta-feira, 27 de setembro de 2017 19:39

Todas as Respostas

  • Junior Não sei se isso lhe ajudará muito mas é o que eu faria!

    1 - Contaria o total de dados no dgv (datagridview.Rows.Count)

    2 - Depois faria uma for percorrendo cada Linha 

    for(int i = 0; i <= dgv.Rows.Count ; i++)

    {

         //depois faria um if em cada linha

         if(dgv[0, i].Checkbox == true)

        {

                 /*Aqui informaria o dhv com os dados e salvaria no banco SQL*/

                string nota = dgv[1, i].value.tostring();

                string cliente = dgv[2, i].value.tostring();

                string transportadora = dgv[3, i].value.tostring();

                 string volume = dgv[4, i].value.tostring();

    md.CommandText = @"INSERT INTO TBL_CHEKLIST (N_NOTA, CLIENTE, TRANSP, VOLUME, N_CHEKLIST, EMISSAO) 
                          VALUES ('"+nota+"', '"+cliente+"', '"+transportadora+"',  '"+volume+"' )";

               

         }

    }

         

    • Marcado como Resposta Junior Guerreiro sexta-feira, 29 de setembro de 2017 18:10
    quarta-feira, 27 de setembro de 2017 19:39
  • Muito obrigado Ezequiel, e isso mesmo que procurava. Vlw

    JUNIOR GUERREIRO T.I

    sexta-feira, 29 de setembro de 2017 18:09