Error in query linq

2

I'm trying to query the table below from my database.

Thisqueryisperformedusingthemethodbelow:

public void compraAcoes(float cepf, string codigo, int quantidade) { string cd = codigo; try { float cpf; BuscaNet busca = new BuscaNet(); Cotacao objeto = new Cotacao(); objeto = busca.buscaInformacao(codigo); cpf = cepf; string empresa = objeto.empresa; string tipo = objeto.tipo; DateTime data = Convert.ToDateTime(objeto.data); string hora = objeto.hora; double abertura = objeto.abertura; double maxima = objeto.maxima; double minima = objeto.minima; double media = objeto.media; double fechamento = objeto.fechamento; double fechamento_anterior = objeto.fechamento_anterior; Int32 volume = objeto.volume; Int32 volume_financeiro = objeto.volume_financeiro; Int32 negocio = objeto.negocio; double oferta_de_compra = objeto.oferta_de_compra; double oferta_de_venda = objeto.oferta_de_venda; Int32 quantidade_ofertada_compra = objeto.quantidade_ofertada_compra; Int32 quantidade_ofertada_venda = objeto.quantidade_fertada_venda; double variação = objeto.variacao; string status = objeto.status; string fase = objeto.fase; string cod = codigo; bancotccEntities bc = new bancotccEntities(); var ac = from obj in bc.acao where (obj.cpf == cepf && obj.codigo == cod) select obj; if (ac == null) { double vatotal_acao; vatotal_acao = (quantidade * fechamento); banco.inserirAcao(cepf, cod, empresa, tipo, data, hora, abertura, maxima, minima, media, fechamento, fechamento_anterior, volume, volume_financeiro, negocio, oferta_de_compra, oferta_de_venda, quantidade_ofertada_compra, quantidade_ofertada_venda, variação, status, fase); banco.inserirCarteira(cepf, cod, fechamento, quantidade, vatotal_acao); } else { carteira ca = bc.carteira.FirstOrDefault(obj => obj.cpf == cepf && obj.codigo == cod); //int qt = ca; ca.qtdacao = ca.qtdacao + quantidade; //int nova_quant = ca.qtdacao + quantidade; // int nova_quant = ca.qtdacao; double valor = quantidade * fechamento; ca.vtotalacao = ca.vtotalacao + valor; //double novo_valor = ca.vtotalacao; banco.atualizaAcao(cepf, codigo, empresa, tipo, data, hora, abertura, maxima, minima, media, fechamento, fechamento_anterior, volume, volume_financeiro, negocio, oferta_de_compra, oferta_de_venda, quantidade_ofertada_compra, quantidade_ofertada_venda, variação, status, fase); // banco.atualizarCarteira(cepf, cod, fechamento, qt, total_acao); // banco.atualizarCarteira(cpf, codigo, fechamento, quantidade, novo_valor); } } catch (Exception e) { throw new Exception(e.Message.ToString()); } /*catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } }*/ }

The method checks if the data exists, if it does not exist it inserts, this part has already been tested and is working, the problem is when it has data in the database. I'm trying to get the values from qdacao and vtotalacao, but the select that I'm using is not returning any values as shown below:

Returningmetheerror:

  

Objectreferencenotsettoaninstanceofanobject.

Nowtrytoselectasperthecodebelowbutonlychangetheerror:

var ca = (from obj in bc.carteira where (obj.cpf == cepf && obj.codigo == cod) select obj).First();
  

The string contains no elements

Can you help me?

    
asked by anonymous 01.06.2014 / 22:02

1 answer

2

Error encountered:

Do not type%% of type variável ta% of% different in what is in the database, so the record that is long is not found, check why it is in different format of the base. It indicates that you put in the 9.87655455E+10 field in your table as 98765500000 , being more quiet in this case working with cpf in the code.

Regarding another question would be:

var c = bc.cateira
    .Where(x => x.cpf == cepf && x.codigo == cod)
    .Select(x => new { x.qtdacao, x.vtotalacao })
    .FirstOrDefault();
    
02.06.2014 / 02:27