will_jdc 1 Denunciar post Postado Setembro 14, 2016 Bom Dia Pessoal, estou com uma duvida e creio que bem simples porém não estou conseguindo resolver.estou começando a programar em C# e preciso carregar um Data Grid porém a função com a consulta no SQL Server esta em outra classe, Vejam abaixo meu codigo: Abaixo a Função para Cadastrar uma Conta Corrente no Banco de dados: public static void IncluirConta(String Conta, String ContaDig, String CodigoBanco, String Agencia, String NomeEmpresa, String TipoInscricao, String Inscricao, String ConvenioCedente, String EntregaDistribuicao, String Duplicata) { try { SqlCommand Comando = new SqlCommand(); Comando.Connection = Con; Con.Open(); Comando.CommandText = "Insert Into Contas(Conta, ContaDig, CodigoBanco, Agencia, NomeEmpresa, TipoInscricao, Inscricao, ConvenioCedente, EntregaDistribuicao, Duplicata) Values (@Conta, @ContaDig, @CodigoBanco, @Agencia, @NomeEmpresa, @TipoInscricao, @Inscricao, @ConvenioCedente, @EntregaDistribuicao, @Duplicata)"; Comando.Parameters.AddWithValue("@Conta", Conta); Comando.Parameters.AddWithValue("@ContaDig", ContaDig); Comando.Parameters.AddWithValue("@CodigoBanco", CodigoBanco); Comando.Parameters.AddWithValue("@Agencia", Agencia); Comando.Parameters.AddWithValue("@NomeEmpresa", NomeEmpresa); Comando.Parameters.AddWithValue("@TipoInscricao", TipoInscricao); Comando.Parameters.AddWithValue("@Inscricao", Inscricao); Comando.Parameters.AddWithValue("@ConvenioCedente", ConvenioCedente); Comando.Parameters.AddWithValue("@EntregaDistribuicao", EntregaDistribuicao); Comando.Parameters.AddWithValue("@Duplicata", Duplicata); Comando.ExecuteNonQuery(); Con.Close(); MessageBox.Show("Conta Incluida Com Sucesso"); Listar("Select * from Contas", FrmContas.DgvContas); // Aqui após a Mensagem de Conta incluida, eu faço a atualização do Datagrid, porém não consigo referenciar o Data Grid(DgvContas) } catch (Exception e) { MessageBox.Show(e.Message); Con.Close(); } } Compartilhar este post Link para o post Compartilhar em outros sites
itlpps 109 Denunciar post Postado Setembro 15, 2016 Sim, a classe de acesso a dados fica em outra camada... Tente retornar a lista atualizada. Compartilhar este post Link para o post Compartilhar em outros sites
will_jdc 1 Denunciar post Postado Setembro 15, 2016 Sim, a classe de acesso a dados fica em outra camada... Tente retornar a lista atualizada. Bom Dia itlpps ... Como assim ??? poderia exemplificar ?? Valeu... Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Setembro 16, 2016 Ao invés de você atualizar o grid direto quando você atualiza a lista, primeiro atualize a lista e retorne a mesma pelo método que você chamou (que está em outra classe), depois no mesmo formulário aonde está o grid, utilize essa lista que você retornou para poder atualizar o elemento. Compartilhar este post Link para o post Compartilhar em outros sites
itlpps 109 Denunciar post Postado Setembro 16, 2016 O correto mesmo, seria no evento do botão, você chamar dois métodos: Um que insere e outro que atualiza. Deixando assim cada método com uma responsabilidade única. Compartilhar este post Link para o post Compartilhar em outros sites
will_jdc 1 Denunciar post Postado Setembro 20, 2016 Bom Dia Pessoal, Fiz o Seguinte: Defini o Data Grid como Public (para poder acessa-lo da classe onde estou inserindo a conta no banco de dados). Agora após a mensagem de Conta incluida com sucesso, eu faço a atualização do Grid corretamente. MessageBox.Show("Conta Incluida Com Sucesso"); FrmContas Contas = new FrmContas(); Listar("Select * from Contas", Contas.DgvContas); Porém o Grid não atualiza. Estou fazendo alguma coisa errada ?? Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Setembro 26, 2016 Acredito que seja porque voce está inicializando um novo formulário de contas e não trabalhando com o existente. Compartilhar este post Link para o post Compartilhar em outros sites