Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hyper_pixel

erro com vetores c# / {“Referência de objeto não definida para uma instância de um objeto.”}

Recommended Posts

 

Amigos estou vindo no php e começando desenvolver em C#

As diferenças sao muitas, as ideias que tenho, quando vou aplicar dão erros.

Como exemplo, tenho um combobox html que preenchido dinamicamente, que pensei separar o código que seria o value do combobox e colocar como um valor em cada posição de um array ate ae tudo bem, mas não funciona.

A versão atual da o seguinte erro, alguém tem alguma ideia de como resolvo?

Da esse erro:

 

                        if (v != null)//MEU TRECHO PESQUISEI QUE TALVEZ SOLUCIONARIA O ERRO

"Referência de objeto não definida para uma instância de um objeto."

 

retorno/resultado é um json com os dados, da base, que enche o combobox.

 

O erro da quando debugando ele chega na linha do vetor!
 
An exception of type 'System.NullReferenceException' occurred in xyz.UI.dll but was not handled in user code

Additional information: Referência de objeto não definida para uma instância de um objeto.

   em xyz.UI.Processxyz.Venda.AjaxPrazoMedioClienteEditar.ProcessRequest(HttpContext context)
   em System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   em System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

Citar

 

using System;
using System.Configuration;
using System.Data;
using System.Net.Http;
using System.Text;
using System.Web;
using Newtonsoft.Json.Linq;

namespace empresa.UI.ProcessEmpresa
{
    /// <summary>
    /// Summary description for AjaxPrazoMedioCliente
    /// </summary>
    public class AjaxPrazoMedioCliente : IHttpHandler
    {
        string[] v;//CRIACAO DO VETOR 
        public int i, j = 0;

        public void ProcessRequest(HttpContext context)
        {
            Grupo = Convert.ToString(context.Request.QueryString["codgrupo"]);
            temmontante = Convert.ToString(context.Request.QueryString["temmontante"]);
            selecionado = Convert.ToString(context.Request.QueryString["selecionado"]);
            temmontante = temmontante.Equals("") ? "0" : temmontante;
            HttpClient client = null;
            string retorno = string.Empty;
            if (client == null)
            {
                client = new HttpClient();
                client.BaseAddress = new Uri(ConfigurationManager.AppSettings["url_servidor"]);
                client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
                HttpResponseMessage resultado = client.GetAsync("xyz/Venda/PrazoMedio/" + Grupo + "/" + temmontante).Result;
                retorno = resultado.Content.ReadAsStringAsync().Result;

                if (resultado.StatusCode != System.Net.HttpStatusCode.NotFound)
                {
                    if (retorno != "[]")
                {
                    sb.Append("<select name=\"txtpagpedido\" id=\"txtpagpedido\" onchange=\"HabilitarDescontoPromocional()\" style=\"width: 200px;\" >");
                    sb.Append("<option value=\"0\">Selecione..</option>");
                    JArray usuarioarrray = JArray.Parse(retorno);

                    foreach (JObject obj in usuarioarrray.Children<JObject>())
                    {
                        foreach (JProperty prop in obj.Properties())
                        {
                            if (v != null)//MEU TRECHO PESQUISEI QUE TALVEZ SOLUCIONARIA O ERRO
                                if (Convert.ToString(prop.Value) != v)
                                    v = prop.Value.ToString();
                                else
                                    break;

                            //vetor = Convert.ToString(prop.Value.ToString());

                            switch (prop.Name)
                            {
                                case "e4_CODIGO":
                                    if (prop.Value.ToString().Equals(selecionado))
                                        sb.Append("<option value=\"" + Convert.ToString(prop.Value.ToString()) + "\" selected=\"selected\" >");
                                    else
                                        sb.Append("<option value=\"" + Convert.ToString(prop.Value.ToString()) + "\"  >");
                                    break;
                                case "e4_DESCRI":
                                    sb.Append(Convert.ToString(prop.Value.ToString()) + "</option>");
                                    break;
                                default:
                                    break;
                            }
                            i++;
                        }
                    }

                    sb.Append("</select>");

                }

            }

            context.Response.Write(sb.ToString());
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
 

O problema esta nesse combo tirar os valores repetidos

 

Citar


<select name="txtpagpedido" id="txtpagpedido" onchange="HabilitarDescontoPromocional()" style="width: 200px;" >
<option value="0">Selecione..</option>
<option value="003"  >28</option>
<option value="004"  >21/28/35</option>
<option value="021"  >21</option>
<option value="049"  >49</option>
<option value="117"  >42/56/70</option>
<option value="127"  >28/42/56</option>
<option value="127"  >28/42/56</option>
<option value="127"  >28/42/56</option>
<option value="133"  >28/56</option><option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="140"  >28/56/84</option>
<option value="149"  >ANTECIPADO</option>
<option value="149"  >ANTECIPADO</option>
<option value="149"  >ANTECIPADO</option>
<option value="149"  >ANTECIPADO</option>
<option value="149"  >ANTECIPADO</option>
<option value="149"  >ANTECIPADO</option>
<option value="154"  >42/56</option>
<option value="212"  >28/42/56/70</option>
<option value="213"  >28/42</option>
<option value="239"  >14</option>
<option value="240"  >14/28/42</option>
<option value="240"  >14/28/42</option>
<option value="264"  >28/42/56/70/84</option>
<option value="264"  >28/42/56/70/84</option>
<option value="264"  >28/42/56/70/84</option>
<option value="265"  >35/42/49</option>
<option value="266"  >10</option><option value="267"  >28/35/42/49</option>
<option value="268"  >56</option>
<option value="268"  >56</option>
<option value="268"  >56</option>
<option value="268"  >56</option>
<option value="269"  >35</option>
<option value="500"  >28/35/42</option>
<option value="502"  >28/35/42/49/56</option>
<option value="502"  >28/35/42/49/56</option>
<option value="502"  >28/35/42/49/56</option>
<option value="504"  >28+7D 7X</option>
<option value="506"  >42</option>
<option value="507"  >35/42/49/56</option>
<option value="508"  >35/42/49/56/63</option>
<option value="511"  >42/49/56</option>
<option value="512"  >42/49/56/63/70</option>
<option value="520"  >42/70/90</option>
<option value="524"  >14/28</option>
<option value="560"  >25/56</option>
<option value="562" selected="selected" >28/42/56/70/84</option>
</select>

 

 

colocando um valor estatico/fixo deu o seguinte erro      

Citar

 

  private string[] v = new string[100];


An exception of type 'System.IndexOutOfRangeException' occurred in xyz.UI.dll but was not handled in user code

Additional information: O índice estava fora dos limites da matriz.


 


{"O índice estava fora dos limites da matriz."}

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Hudson Medeiros
      Bom dia!
      To precisando criar um formulário condicional com base em um menu dropdown que tem no meu site. 
      Ele puxa as informações de uma lista no código, e gostaria que ao selecionar uma opção específica abrisse novos campos de formulário e alguns sumissem.
       
      Alguém tem alguma ideia de como posso executar isso?
    • Por SandroPaiva
      Ola, sou novo no forum e também novato em programação.
       
      Estou aprendendo sozinho o C# usando o Visual Studio 2017, e estou seguindo uma apostila bem prática e de fácil entendimento, porém, por conta da minha inexperiência como Visual Studio 2017, me deparei com um problema:
       
      Durante um projeto fiz a inserção de um button e não dei funcionalidade nenhuma a ele, só deixei ele lá no formulário junto com outros componentes já programados, como duas textBox e outros dois buttons, executei para testar uma funcionalidade simples porém deu um erro e apresentou uma nova aba onde o visual studio apresenta links de solução online que na verdade não me ajudaram muito. Depois disso o formulário com os componentes sumiu, tenho as guias Form1.Designer.cs, que deveria aparecer o formulário mas só aparecem linhas de códigos que fazem referencia aos componentes que deveriam estar visíveis, e a Form1.cs. Já encerrei e abri o VS e não deu certo.
       
      Não achei outro tópico ou pergunta com essa dúvida, por isso a fiz agora. Se existe alguma duvida parecida, peço desculpas pela repetição e peço que me indiquem a solução.
       
      Agradeço desde já quem puder me ajudar.
    • Por rtavix
      Alguém já se deparou com este erro? Sugestões para resolver?
      public static Processo Consultar---ProcessoER(string numProcesso) { ISession sessao = NhibernateHelper.SessaoCorrente; Processo processo; try { processo = new Processo(); ICriteria criterios = sessao.CreateCriteria(processo.GetType()); //criterios.Add(NHibernate.Criterion.Expression.Sql("replace(replace(replace(Num_Proc_Judicial, '.'), '-'), '/') = replace(replace(replace(?, '.'), '-'), '/')", numProcesso, NHibernateUtil.String)); criterios.Add(NHibernate.Criterion.Expression.Sql("regexp_replace(Num_Proc_Judicial || '/','[[:punct:]]','') = regexp_replace(? || '/','[[:punct:]]','')", numProcesso, NHibernateUtil.String)); return criterios.UniqueResult<Processo>(); } catch (Exception e) { throw new Exception(e.ToString()); } } Erro:
       
      NHibernate.NonUniqueResultException: query did not return a unique result: 2
         em NHibernate.Impl.AbstractQueryImpl.UniqueElement(IList list)
         em NHibernate.Impl.CriteriaImpl.UniqueResult()
         em NHibernate.Impl.CriteriaImpl.UniqueResult[T]()
         em SDPJDominio.DataAccess.ProcessoDAO.Consultar---ProcessoER(String numProcesso) na D:\Repositório SVN\SDP\SDPJ\branches\SDPJ-V3.0.0\SDPJDominio\DataAccess\ProcessoDAO.cs:linha 111
       
      observação a linha 111, é essa linha: 
      return criterios.UniqueResult<Processo>();
       
      Como poderia sanar esse erro?
    • Por hugo_stark
      preciso descobrir qual o tipo dessa criptografia, e como reverte-la : 5XCHU1B7C6F0MV113J1QWRPD7IEF6LZ
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.