none
Duvida, não tem retorno ao texbox cliente RRS feed

  • Question

  • Galera, estou muito zuado com isso, tentei de todas as formas, mas não estou conseguindo resolver, será que alguém poderia me ajudar? eu fico agradecido.

    estou tentando recuperar os dados da ordem de serviço do banco para editar, mas só vem o primeiro de lista  e sem o nome do cliente, depois de dar dois clica na linha do dataGrid  carrega uma textBox com o numero da OS, quando clico no botão carregar sem vem a primeira da lista, não importa o numero de OS que eu carregue, e sempre falta o nome do cliente,

    o erro esta dando no

    private void Btm_Carregar_Click(object sender, EventArgs e)
            {
                this.AlteraBotoes(3);

                if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
                {
                    PreencherCamposDeTexto(Convert.ToInt32(Txt_IDPesquisa.Text));  --->  A cadeia de caracteres de entrada não estava em um formato correto.

                }
                else
                {
                    MessageBox.Show("Escolha uma ordem de serviço!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

    Meu banco esta assim.

    CREATE TABLE Pessoa
    (
    ID_Cli int  NOT NULL PRIMARY KEY identity,
    Nome varchar(100) NOT NULL,
    Tipo [varchar](50) NULL,
    Email varchar(100) NULL,
    Endereco varchar(100) NULL,
    Numero varchar(50) NULL,
    Apartamento varchar(5) NULL,
    Complemento varchar(150) NULL,
    SiglaEstado varchar(5) NULL,
    Cidade varchar(100) NULL,
    Bairro varchar(100) NULL,
    Cep varchar(15) NULL,
    Sexo varchar(50) NULL,
    Cpf varchar(15) NULL,
    Celular varchar(50) NULL,
    DataDeNascimento datetime NULL,
    RazaoSocial varchar(20) NULL,
    Cnpj varchar(20) NULL,
    InscricaoEstadual varchar(20) NULL
    )

    create table OrdemDeServico
    (
    ID_OS int NOT NULL PRIMARY KEY,
    Situacao text,
    DefeitoRelatado text,
    DefeitoConstatado text,
    Observacao text,
    Descricao text,
    NumeroDeSerie text,
    Modelo varchar (100),
    DataEntradaServico Varchar (50) ,
    IdCliente Int not null,
    NumeroOS int,
    Valor money ,
    Garantia varchar (50)
    FOREIGN KEY (IdCliente) REFERENCES Pessoa(Id_Cli) ON DELETE CASCADE
    )
    create table Trabalhos
    (
    ID_Tr Int NOT NULL PRIMARY KEY,
    IdOrdemServico Int not null,
    Valor Decimal (10,2),
    Descricao text,
    Garantia datetime,
    FOREIGN KEY (IdOrdemServico) REFERENCES OrdemDeServico(ID_OS) ON DELETE CASCADE

    )

    Meu ModeloOS

     /// <summary>
    /// Retorna um DataTable com todos os números do Ordens de serviço.
    /// </ summary>
    /// <returns> A lista. </ returns>
    public DataTable pública CarregarListaDeIds ()
            {
                DataTable tabela = new DataTable ("ordemdeservico");
                SqlCommand cmd = new SqlCommand ();

                try
                {
                    DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
                    cmd.Connection = conexao.ObjetConexao;
                   
                   SqlDataAdapter da = new SqlDataAdapter ("Select NumeroOS  from OrdemDeServico where IdCliente like '%" + "" + "%'", conexao.StringConexao);
                    da. Fill (tabela);
                }
                catch (Exception)
                {
                   
                }
                tabela de retorno;
            }
            /// <summary>
    /// Retorna um DataTable com todas as Ordens de serviço.
    /// </ summary>
    /// <returns> A lista. </ returns>
    public DataTable pública CarregarLista ()
            {
                DataTable tabela = new DataTable ("ordemdeservico");
                SqlCommand cmd = new SqlCommand ();

                try
                {
                    DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
                    cmd.Connection = conexao.ObjetConexao;

                     SqlDataAdapter da = new SqlDataAdapter("select os.NumeroOS, p.Nome, os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo, os.NumeroOS,  os.DefeitoConstatado, os.DataEntradaServico,   " +
                    " os.Observacao, os.Valor, os.Descricao from Pessoa p inner join ordemdeservico os on p.ID_Cli = os.ID_OS", conexao.StringConexao);
                    da.Fill(tabela);
                }
                catch (Exception)
                {
            
                }
                tabela de retorno;
            }
            /// <resumo>
    /// Carregando como informações da tabela para classe de OS.
    /// </ summary>
    /// <param name = "ID"> I. </ param>


                System.Data.DataTable tabela = new DataTable ("OrdemDeServico");
                ModeloOrdemServico OSBase = novo ModeloOrdemServico ();
                DALConexao conexao = new DALConexao (DadosDaConexao.StringDaConexao);
                SqlCommand cmd = new SqlCommand ();
                cmd.Connection = conexao.ObjetConexao;
                //cmd.CommandText = "Selecione * em OrdemDeServico Onde ID_OS = @id_os";
                SqlDataAdapter da = new SqlDataAdapter ("selecionar os.ID_OS, os.Situacao, os.Garantia, os.DefeitoRelatado, os.NumeroDeSerie, os.Modelo, os.NumeroOS, os.DefeitoConstatado," +
                    "os.DataEntradaServico, os.Observacao, os.Valor, os.Descricao de Pessoa p inner join ordemdeservico os em p.ID_Cli = os.IdCliente", conexao.StringConexao);
                da.Fill (tabela);
                //cmd.Parameters.AddWithValue("@id_os ", ID_OS);

                tente
                {
                    conexao.Conectar ();
                    cmd.ExecuteReader ();
                    conexao.Desconectar ();

                    // OSBase = PreencherOS (tabela);
                }
                catch (Exception)
                {
                 
                }


                retorna PreencherOS (tabela);
            }
            /// <resumo>
    /// Preenchendo a classe com as informações do DataTable
    /// </ summary>
    /// <param name = "tabela"> todo: descreve o parâmetro tabela no PreencherOS </ param>
    /// <returns> O cliente. </ returns>
    private estático ModeloOrdemServico PreencherOS (tabela DataTable)
            {
                List <string> OSBaseLista = new List <string> ();
                ModeloOrdemServico OSBase = novo ModeloOrdemServico ();
                Tente
                {
                    foreach (DataRow r na tabela.Rows)
                    {
                        foreach (DataColumn c na tabela.Columns)
                        {
                            OSBaseLista.Add (r [c] .ToString ());

                    }
                    OSBase.IDCliente = Convert.ToInt32 (OSBaseLista [0]);
                    OSBase.ID_OS = Convert.ToInt32 (OSBaseLista [0]);
                    OSBase.Situacao = OSBaseLista [1];
                    OSBase.Garantia = OSBaseLista [2];
                    OSBase.DefeitoRelatado = OSBaseLista [3];
                    OSBase.NumeroSerie = OSBaseLista [4];
                    OSBase.Modelo = OSBaseLista [5];
                    OSBase.NumeroOS = OSBaseLista [6];
                    OSBase.DefeitoConstatado = OSBaseLista [7];
                    OSBase.DataEntradaServico = OSBaseLista [8];
                    OSBase.Observacao = OSBaseLista [9];
                    OSBase.Valor = Convert.ToDouble (OSBaseLista [10]);
                    OSBase.Descricao = OSBaseLista [11];




                    //OSBase.IDCliente = Convert.ToInt32 (OSBaseLista [12]);


                }
                catch (Exception)
                {
                }
                OSBaseLista.Clear ();
                retornar OSBase;
            }

    Meu ModeloOrdemServico:

    public class ModeloOrdemServico
        {
            public ModeloOrdemServico()
            {
                this.ID_OS = 0;
                this.IDCliente = 0;
                this.Situacao = "";
                this.DefeitoRelatado = "";
                this.DefeitoConstatado = "";
                this.Descricao = "";
                this.Observacao = "";
                this.NumeroSerie = "";
                this.NumeroOS = "";
                this.Modelo = "";
                this.DataEntradaServico = "";
                this.Valor = 0;
                this.Garantia = "";

            }

            public ModeloOrdemServico(int ID_OS, int IDCliente, string Situacao, string DefeitoRelatado, string DefeitoConstatado, string Descricao, string Observacao, string NumeroSerie,
               string NumeroOS, string Modelo, string DataEntradaServico, int Valor, string Garantia)
            {
                this.ID_OS = id_os;
                this.IDCliente = IdCliente;
                this.Situacao = situacao;
                this.DefeitoRelatado = defeitoRelatado;
                this.DefeitoConstatado = defeitoConstatado;
                this.Descricao = descricao;
                this.Observacao = observacao;
                this.NumeroSerie = numeroSerie;
                this.NumeroOS = numeroOS;
                this.Modelo = modelo;
                this.DataEntradaServico = dataEntradaServico;
                this.Valor = valor;
                this.Garantia = garantia;
            }
            private int id_os;
            public int ID_OS
            {
                get { return this.id_os; }
                set { this.id_os = value; }
            }
            private int IdCliente;
            public int IDCliente
            {
                get { return this.IdCliente; }
                set { this.IdCliente = value; }
            }

            private string situacao;
            public string Situacao
            {
                get { return this.situacao; }
                set { this.situacao = value; }
            }

            private string defeitoRelatado;
            public string DefeitoRelatado
            {
                get { return this.defeitoRelatado; }
                set { this.defeitoRelatado = value; }
            }

            private string defeitoConstatado;
            public string DefeitoConstatado
            {
                get { return this.defeitoConstatado; }
                set { this.defeitoConstatado = value; }
            }

            private string descricao;
            public string Descricao
            {
                get { return this.descricao; }
                set { this.descricao = value; }
            }

            private string observacao;
            public string Observacao
            {
                get { return this.observacao; }
                set { this.observacao = value; }
            }

            private string numeroSerie;
            public string NumeroSerie
            {
                get { return this.numeroSerie; }
                set { this.numeroSerie = value; }
            }

            private string numeroOS;
            public string NumeroOS
            {
                get { return this.numeroOS; }
                set { this.numeroOS = value; }
            }
            private string modelo;
            public string Modelo
            {
                get { return this.modelo; }
                set { this.modelo = value; }
            }

            private string dataEntradaServico;
            public string DataEntradaServico
            {
                get { return this.dataEntradaServico; }
                set { this.dataEntradaServico = value; }
            }



            private Double valor;
            public Double Valor
            {
                get { return this.valor; }
                set { this.valor = value; }
            }

            private string garantia;
            public string Garantia
            {
                get { return this.garantia; }
                set { this.garantia = value; }
            }
        }

    Meu FormOS

    private void Frm_NovaOS_Load(object sender, EventArgs e)
            {
                this.AlteraBotoes(1);
                AualizarGridSemFiltro();
                AtualizarListaDeOS();
                AtualizarListaDeClientes();


                txt_Data.Text = DateTime.Now.ToString("d/M/yy");
                Dt_DataEntrada.Text = DateTime.Now.ToString("d/M/yy");
                //Dt_DataEntrada.Text = DateTime.Now.ToString("yyyy/MM/dd");
                //Dt_Garantia.Text = DateTime.Now.ToString("yyyy/MM/dd");


                //Preenchendo o ComboBox com o nome de Clientes
                TabelaDeClientes = ControleCliente.CarregarListaDeNomes();

                if (TabelaDeClientes.Rows.Count != 0)
                {
                    foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
                    {
                        foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
                        {
                            Txt_Clientes.Items.Add(r[c].ToString());
                        }
                    }
                }

                if (InicializacaoPeloFormularioExterno)
                {
                    //Carregando as informações passadas pelo form de listagem de OS.
                    PreencherCamposDeTexto(IDChamado);

                    InicializacaoPeloFormularioExterno = false;
                }
            }

            private void Btn_Salvar_Click(object sender, EventArgs e)
            {
                if (ControleCliente.VerificarExistencia(Txt_Clientes.Text))
                {
                    string Retorno = ControleOS.Criar(PreencherOS());

                    MessageBox.Show(String.Format("{0}", Retorno), "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    if (MessageBox.Show("Deseja imprimir  a ordem de serviço?", "Pergunta", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        //TODO: Função para gerar uma ordem de serviço em PDF Aqui.
                    }
       
                    LimparCampos();
                }
                else
                {
                    MessageBox.Show("Selecione um cliente!", "Informação", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            
            private void Txt_Clientes_TextUpdate(object sender, EventArgs e)
            {
                Txt_Clientes.Items.Clear();

                if (TabelaDeClientes.Rows.Count != 0)
                {
                    foreach (System.Data.DataRow r in TabelaDeClientes.Rows)
                    {
                        foreach (System.Data.DataColumn c in TabelaDeClientes.Columns)
                        {
                            if (r[c].ToString().Trim().Contains(Txt_Clientes.Text.Trim()))
                            {
                                Txt_Clientes.Items.Add(r[c].ToString());
                            }
                        }
                    }

                    //Move o cursor para o Fim do combobox.
                    Txt_Clientes.SelectionStart = Txt_Clientes.Text.ToString().Length;
                }
            }

            private void Btn_NovaOrdem_Click(object sender, EventArgs e)
            {
                Random R = new Random();
                Txt_NumeroOS.Text = R.Next(99999).ToString();
                this.LimparCampos();
                this.AlteraBotoes(2);
            }

            private void Btn_Cancelar_Click(object sender, EventArgs e)
            {
                Txt_NumeroOS.Clear();
                this.LimparCampos();
                this.AlteraBotoes(1);
            }

            private void BtnAtualizaList_Click(object sender, EventArgs e)
            {
                Txt_pesquisar.Clear();
                AualizarGridSemFiltro();
                this.Data_Os.Update();
                this.Data_Os.Refresh();
            }
            //Listar ordem de Serviços
            private void AualizarGridSemFiltro()
            {
                Data_Os.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

                Data_Os.DataSource = ControleOrdemServico.CarregarLista();

                Data_Os.Columns[0].HeaderText = "NumeroOS";
                Data_Os.Columns[0].Width = 100;
                Data_Os.Columns[1].HeaderText = "Cliente";
                Data_Os.Columns[1].Width = 120;
                Data_Os.Columns[2].HeaderText = "Situação";
                Data_Os.Columns[2].Width = 90;
                Data_Os.Columns[3].HeaderText = "Equipamento";
                Data_Os.Columns[3].Width = 140;
                Data_Os.Columns[4].HeaderText = "Descrição";
                Data_Os.Columns[4].Width = 140;
                Data_Os.Columns[5].HeaderText = "Defeito";
                Data_Os.Columns[5].Width = 140;
                Data_Os.Columns[6].HeaderText = " Entrada";
                Data_Os.Columns[6].Width = 80;
                Data_Os.Columns[7].HeaderText = "Série";
                Data_Os.Columns[7].Width = 80;
                Data_Os.Columns[8].HeaderText = "Valor";
                Data_Os.Columns[8].Width = 60;
                Data_Os.Columns[9].HeaderText = "Observações";
                Data_Os.Columns[9].Width = 160;
                //Data_Os.Columns[10].HeaderText = "Tecnico";
                //Data_Os.Columns[10].Width = 70;


                //Data_Os.Columns[2].HeaderText = "Numero de Serie";
                //Data_Os.Columns[4].HeaderText = "Data de Entrada";
            }
            private void AtualizarListaDeClientes()
            {
                Txt_IDPesquisa.Items.Clear();

                DataTable tabela = new DataTable("ListaDeNomes");
                tabela = ControleOS.CarregarListaDeIds();


                if (tabela.Rows.Count != 0)
                {
                    foreach (DataRow r in tabela.Rows)
                    {
                        foreach (DataColumn c in tabela.Columns)
                        {
                            Txt_IDPesquisa.Items.Add(r[c].ToString());
                        }
                    }
                    Txt_IDPesquisa.Text = Txt_IDPesquisa.Items[0].ToString();
                }
            }

            private void Data_Os_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
            {
                
                Txt_IDPesquisa.Text = Data_Os.Rows[e.RowIndex].Cells["NumeroOS"].Value.ToString();
            }

            private void Btm_Carregar_Click(object sender, EventArgs e)
            {
                this.AlteraBotoes(3);

                if (!String.IsNullOrEmpty(Txt_IDPesquisa.Text))
                {
                    PreencherCamposDeTexto(Convert.ToInt32(Txt_IDPesquisa.Text));

                }
                else
                {
                    MessageBox.Show("Escolha uma ordem de serviço!", "Informações", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }

            private void PreencherCamposDeTexto(int id_os)
            {
                ModeloOrdemServico InformacoesOrdemDeServico = new ModeloOrdemServico();
                InformacoesOrdemDeServico = ControleOS.Carregar(id_os);


                IDChamado = InformacoesOrdemDeServico.ID_OS;
                Txt_Clientes.Text = Convert.ToString(InformacoesOrdemDeServico.IDCliente);
                Txt_Situacao.Text = InformacoesOrdemDeServico.Situacao;
                txt_Data.Text = Convert.ToString(InformacoesOrdemDeServico.Garantia);
                Txt_Defeito.Text = InformacoesOrdemDeServico.DefeitoRelatado;
                Txt_Nserie.Text = InformacoesOrdemDeServico.NumeroSerie;
                Txt_Equipamento.Text = InformacoesOrdemDeServico.Modelo;
                Txt_NumeroOS.Text = InformacoesOrdemDeServico.NumeroOS;
                Dt_DataEntrada.Text = Convert.ToString(InformacoesOrdemDeServico.DataEntradaServico);
                Txt_DefeitoCons.Text = InformacoesOrdemDeServico.DefeitoConstatado;
                Txt_Observacoes.Text = InformacoesOrdemDeServico.Observacao;
                Txt_ValotOrc.Text = Convert.ToString(InformacoesOrdemDeServico.Valor);
                Txt_Descricao.Text = InformacoesOrdemDeServico.Descricao;
                Txt_Clientes.Text = ControleCliente.VerificarNome(InformacoesOrdemDeServico.ID_OS);

            }
           
            /// <summary>
    /// Carregando as informações dos TxtBox para a Classe Cliente.
    /// </summary>
    /// <returns></returns>
    private ModeloOrdemServico PreencherOS()
            {
                ModeloOrdemServico OSBase = new ModeloOrdemServico();

                OSBase.IDCliente = ControleCliente.VerificarID(Convert.ToString(Txt_Clientes.Text));
                OSBase.DataEntradaServico = Dt_DataEntrada.Text;
                OSBase.Garantia = txt_Data.Text;
                OSBase.Descricao = Txt_Descricao.Text;
                OSBase.Modelo = Txt_Equipamento.Text;
                OSBase.DefeitoRelatado = Txt_Defeito.Text;           
                OSBase.DefeitoConstatado = Txt_Defeito.Text;
                OSBase.NumeroSerie = Txt_Nserie.Text;
                OSBase.Observacao = Txt_Observacoes.Text;
                OSBase.NumeroOS = Txt_NumeroOS.Text;
                OSBase.Situacao = Txt_Situacao.Text;
                OSBase.Valor = Convert.ToDouble(Txt_ValotOrc.Text);
                return OSBase;
            }
            
            private void AtualizarListaDeOS()
            {
                Txt_IDPesquisa.Items.Clear();

                DataTable tabela = new DataTable("ListaDeOrdem");
                tabela = ControleOS.CarregarListaDeIds();


                if (tabela.Rows.Count != 0)
                {
                    foreach (DataRow r in tabela.Rows)
                    {
                        foreach (DataColumn c in tabela.Columns)
                        {
                            Txt_IDPesquisa.Items.Add(r[c].ToString());
                        }
                    }
                    Txt_IDPesquisa.Text = Txt_IDPesquisa.Items[0].ToString();

                }
            }

    Agradeço qualquer ajuda, um abraço!



    • Edited by Titodj7 Sunday, October 21, 2018 4:34 AM
    • Moved by CoolDadTx Monday, October 22, 2018 1:58 PM Wrong locale
    Saturday, October 20, 2018 8:52 PM

All replies

  • alguem para me dar uma Ajuda ai?  ta complicado o negocio .       kkkk
    Sunday, October 21, 2018 10:05 PM
  • Hi Titodj7,

    Thank you for posting here.

    This is a English forum. Please post your question in English.

    For your question, what is the type of your project? WPF? UWP?

    How do you connect server with client? What does the OS in your description mean?

    Best Regards,

    Wendy


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Monday, October 22, 2018 8:28 AM
  • I load the connection in the DadosDaConexao and DALConexao, my project is WPF 

    public class DadosDaConexao
        {
            public static String Servidor = @"TITO-PC\TITODB";
            public static String Banco = "BancoAssistec";
            public static String Usuario = "";
            public static String Senha = "";

            public static string StringDaConexao
            {
                get { return @"Data Source=" + Servidor + ";Initial Catalog=" + Banco + ";Integrated Security=True"; }
            }
        }

    public class DALConexao
        {
            private string _stringConexao;
            private SqlConnection _conexao;

            public  DALConexao(string dadosConexao)
            {
                this._conexao = new SqlConnection();
                this.StringConexao = dadosConexao;
                this._conexao.ConnectionString = dadosConexao;
            }

            public string StringConexao
            {
                get { return this._stringConexao; }
                set { this._stringConexao = value; }
            }

            public SqlConnection ObjetConexao
            {
                get { return this._conexao; }
                set { this._conexao = value; }
            }
            public void Conectar()
            {
                if (_conexao.State == System.Data.ConnectionState.Closed)
                {
                    this._conexao.Open();
                }
                
            }
            public void Desconectar()
            {
                if (_conexao.State == System.Data.ConnectionState.Open)
                {
                    this._conexao.Close();
                }
                
            }
        }

    I call it that

    class ControleOS
        {
            private DALConexao conexao;
            public ControleOS(DALConexao cx)
            {
                this.conexao = cx;
            }

    the Project is Customer Registration and Service Order, I can get the Order of Services but at the time of searching the flock to edit, rotorna only the first one in the list and does not return the customer's name

    Very thanks for responding.

    Tuesday, October 23, 2018 5:37 AM
  • Hi Titdj7,

    you should open a new question and copy your last post in it to get response, because this is moved to Off-Topic Posts (Do Not Post Here)

    Greetings, Chris

    Wednesday, October 24, 2018 7:36 PM