none
mover colunas entre tabelas sql server c#? RRS feed

  • Pergunta

  • ola Galera,estou tentando criar uma ordem de serviço, e quando eu clicar no botão 'finalizar' eu queria mover esta linha finalizada  do datagrid para a tabela 'Serviços' e não estou conseguindo, ela finaliza e cria o serviço mas não apaga a linha da tabela 'OrdemDeServico'  

    crio o serviço a partir de uma class:

     /// <summary>
    /// Finalizando ordem de serviço(Mudando o Status da OS), e criando um novo serviço.
    /// </summary>
    /// <returns>The O.</returns>
    public static string FinalizarOS(ModeloServicoOrd InformacoesDoServico)
            {
                DALConexao conexao = new DALConexao(DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = conexao.ObjetConexao;

                cmd.CommandText = "update OrdemDeServico set Situacao = @situacao where ID_OS = @id_os";

                cmd.Parameters.AddWithValue("situacao", "Finalizado");
                cmd.Parameters.AddWithValue("id_os", InformacoesDoServico.IdOrdemServico.ToString());

                try
                {

                    conexao.Conectar();
                    cmd.ExecuteReader();

                    ControleServico.Criar (InformacoesDoServico);//Gerar um Serviço, após ter alterado as informações da OS.
                    conexao.Desconectar();
                    return "A Ordem de serviço foi finalizda com sucesso.";
                }
                catch (Exception ex)
                {
                    return String.Format("Ocorreu um erro ao tentar finalizar a OS: {0}", ex.Message);
                }

            }

     so não sei como remover esta ordem da lista...

    sábado, 1 de dezembro de 2018 13:54

Respostas

  • O Frm_Servico é aberto a partir do frm_OS? Para disparar uma ação em outro form você precisa guardar uma referência para o mesmo e invocar um método no mesmo.

    Ex:

    public class Form1
    {
      Form2 meuForm;
    
      public Form1()
      {
        meuForm = new Form2();
      }
    
      public void AbrirForm2()
      {
        meuForm.Show();
      }
    
      public void InvocarAcaoForm2()
      {
        meuForm.MinhaAcao();
      }
    }
    
    public class Form2
    {
      public void MinhaAcao
      {
        // Faço uma ação qualquer após invocação pelo Form1
      }
    }


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    domingo, 2 de dezembro de 2018 01:44

Todas as Respostas

  • Sua dúvida está em fazer a exclusão da tabela no banco de dados ou no grid?

    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    sábado, 1 de dezembro de 2018 21:38
  • Na verdade eu preciso dos dois, quando finalizar a ordem de serviço preciso que ela suma do 'datagrid_OS' e reapareça do 'datagrid_servico' só que cada datagrid esta em um form diferente frm_OS e Frm_Servico, carregados por uma class, ControleOS e ControleServico,
    sábado, 1 de dezembro de 2018 22:29
  • O Frm_Servico é aberto a partir do frm_OS? Para disparar uma ação em outro form você precisa guardar uma referência para o mesmo e invocar um método no mesmo.

    Ex:

    public class Form1
    {
      Form2 meuForm;
    
      public Form1()
      {
        meuForm = new Form2();
      }
    
      public void AbrirForm2()
      {
        meuForm.Show();
      }
    
      public void InvocarAcaoForm2()
      {
        meuForm.MinhaAcao();
      }
    }
    
    public class Form2
    {
      public void MinhaAcao
      {
        // Faço uma ação qualquer após invocação pelo Form1
      }
    }


    Juliano Nunes - http://linkedin.com/in/julianonunes

    Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.

    Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.

    domingo, 2 de dezembro de 2018 01:44