none
Como cadastrar itens do datagrid no banco RRS feed

  • Pergunta


  • Tenho o seguinte formulario


    Os itens que estão dentro do grid quero salvar no banco na tabela HorariosItens, no caso ele terá que salvar os dois itens

    obs.: na tabela HorarioItens tenho os seguintes campos id(auto-incremente),diasemana,qtdacesso,horainicio,horafim

    terça-feira, 8 de abril de 2014 19:41

Respostas

  •             string dia;
                int acessos;
                DateTime inicial;
                DateTime final;
                int identificacao;
    
                foreach (DataGridViewRow row in dtg_mensagem.Rows)
                {
                    dia = row.Cells[0].Value.ToString(); // primeira coluna
                    acessos = int.Parse(row.Cells[1].Value.ToString()); // segunda
                    inicial = Convert.ToDateTime(row.Cells[2].Value.ToString()); // terceira
                    final = Convert.ToDateTime(row.Cells[3].Value.ToString()); // quarta
                    identificacao = 1; // nao vi esse no seu form, então de pois vc coloca certo
    
                    inserir(dia, acessos, inicial, final, identificacao);
                }


            public void inserir(string dia_semana, int qtde_acesso, DateTime h_inicial, DateTime h_final, int id)
            {
                clsdb.ExecutaSQL("Insert into horarioitens(diasemana,qdtacesso,horainicio,horafim,id_horario) values ('" + dia_semana + "'," + qtde_acesso + ",'" + h_inicial.ToString("yyyy-MM-dd") + "','" + h_final.ToString("yyyy-MM-dd") + "'," + id + ")");
            }


    nota: dtg_mensagem = meu datagridview

    • Editado Dietrich Prg quarta-feira, 9 de abril de 2014 11:45
    • Sugerido como Resposta Giovani Cr quarta-feira, 9 de abril de 2014 20:01
    • Marcado como Resposta Xarp2 quinta-feira, 10 de abril de 2014 15:11
    quarta-feira, 9 de abril de 2014 11:43
  • Verifique pois esse foreach deve estar pegando a linha em branco no final do seu datagrid.

    Basta você fazer uma validação, o campo row.Cells[0].Value está vindo null para o último item.


    Elvis Rodrigues
    Analista Desenvolvedor .Net
    MCTS .Net Framework, SQL Server 2005, WPF, ASP NET
    Email foxelv@hotmail.com

    • Marcado como Resposta Xarp2 quinta-feira, 10 de abril de 2014 15:11
    quinta-feira, 10 de abril de 2014 14:44

Todas as Respostas

  • Até onde vc já tentou? poderia mostrar seu codigo?
    terça-feira, 8 de abril de 2014 19:52
  •  

    Criei somente a classe que pega os campos do formulário e salva no banco

    public void incluiritenshorario()
            {
                clsdb.ExecutaSQL("Insert into horarioitens(diasemana,qdtacesso,horainicio,horafim,id_horario) values ('" + diasemana + "'," + qtdacesso + ",'" + horainicio + "','" + horafim + "'," + id_horario + ")");
            }

    nisto tenho que fazer um código que receba esses itens do grid e passe eles para a classe para eles serem adicionados

    exemplo meu de um código do botão "Concluir":

     clsEmpresa cadastrar = new clsEmpresa();
    
                        cadastrar.razaoSocial = txtrazaosocial.Text;
                        cadastrar.nomeFantasia = txtnomefantasia.Text;
                        cadastrar.cnpj = mcnpj.Text;
                        cadastrar.inscricaoEstadual = inscrição.Text;
                        cadastrar.Rua = txtrua.Text;
                        cadastrar.numero = int.Parse(txtnum.Text);
                        cadastrar.Bairro = txtbairro.Text;
                        cadastrar.Cidade = txtcidade.Text;
                        cadastrar.Uf = cbuf.Text;
                        cadastrar.Pais = cbpais.Text;
                        cadastrar.responsavel = txtresponsavel.Text;
    
                        cadastrar.Inserir();
                        MessageBox.Show("Empresa cadastrada com sucesso !!!");
                        Close();

    terça-feira, 8 de abril de 2014 20:17
  •             string dia;
                int acessos;
                DateTime inicial;
                DateTime final;
                int identificacao;
    
                foreach (DataGridViewRow row in dtg_mensagem.Rows)
                {
                    dia = row.Cells[0].Value.ToString(); // primeira coluna
                    acessos = int.Parse(row.Cells[1].Value.ToString()); // segunda
                    inicial = Convert.ToDateTime(row.Cells[2].Value.ToString()); // terceira
                    final = Convert.ToDateTime(row.Cells[3].Value.ToString()); // quarta
                    identificacao = 1; // nao vi esse no seu form, então de pois vc coloca certo
    
                    inserir(dia, acessos, inicial, final, identificacao);
                }


            public void inserir(string dia_semana, int qtde_acesso, DateTime h_inicial, DateTime h_final, int id)
            {
                clsdb.ExecutaSQL("Insert into horarioitens(diasemana,qdtacesso,horainicio,horafim,id_horario) values ('" + dia_semana + "'," + qtde_acesso + ",'" + h_inicial.ToString("yyyy-MM-dd") + "','" + h_final.ToString("yyyy-MM-dd") + "'," + id + ")");
            }


    nota: dtg_mensagem = meu datagridview

    • Editado Dietrich Prg quarta-feira, 9 de abril de 2014 11:45
    • Sugerido como Resposta Giovani Cr quarta-feira, 9 de abril de 2014 20:01
    • Marcado como Resposta Xarp2 quinta-feira, 10 de abril de 2014 15:11
    quarta-feira, 9 de abril de 2014 11:43
  • Da uma olhada no erro em que ocorre

    quinta-feira, 10 de abril de 2014 13:49
  • Verifique pois esse foreach deve estar pegando a linha em branco no final do seu datagrid.

    Basta você fazer uma validação, o campo row.Cells[0].Value está vindo null para o último item.


    Elvis Rodrigues
    Analista Desenvolvedor .Net
    MCTS .Net Framework, SQL Server 2005, WPF, ASP NET
    Email foxelv@hotmail.com

    • Marcado como Resposta Xarp2 quinta-feira, 10 de abril de 2014 15:11
    quinta-feira, 10 de abril de 2014 14:44