none
No Inserta a SQL RRS feed

  • Pregunta

  • Ayuda por favor, no inserta el registro a sql
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using System.Windows.Navigation;
    using SAppEgresos1.Web;
    using SAppEgresos1.Web.Modelos;
    using SAppEgresos1.Web.Servicios;
    using System.ServiceModel.DomainServices.Client;
    
    
    private void BuscarDato()
      {
       EgrDomServ1 Context = new EgrDomServ1();
       EntityQuery<Egresos> datas = from data in Context.GetEgresosQuery()
               where data.EXPED == VExp & data.EGFECHA == Xfecha1
               select data;
       Egresos egresos = new Egresos();   
       DateTime ZZFecha = Convert.ToDateTime("01/01/0001"); 
       if (egresos.EXPED == 0.0 || egresos.EGFECHA == ZZFecha)
       {
        //No existe el registro 
        egresos.EXPED = VExp;
        egresos.EGFECHA = Convert.ToDateTime(Xfecha1);
        Context.Egresos.Add(egresos);    
        Context.SubmitChanges();
       }   
       string ZExp = Convert.ToString(VExp);
       string ZFecha = Convert.ToString(Xfecha1);   
       NavigationService.Navigate(new Uri("/Captura?Y_Exp=" + Convert.ToString(ZExp) + "&Y_Fecha" + Convert.ToString(ZFecha), UriKind.RelativeOrAbsolute));
      }  
    
     muchas gracias

    jueves, 7 de julio de 2011 1:37

Todas las respuestas

  • hola

    pero no te falta algo como ser

    context.InsertOnSubmit();

    o algo asi, o sea estas agregando el nuevo egreso a la coleccion pero no lo envias a insertar

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 7 de julio de 2011 4:56
  • Hola

    Tal cual Leandro dice

     

    if (egresos.EXPED == 0.0 || egresos.EGFECHA == ZZFecha)

       {

        //No existe el registro 

        egresos.EXPED = VExp;

        egresos.EGFECHA = Convert.ToDateTime(Xfecha1);

        Context.InsertOnSubmit(egresos);

        Context.Egresos.Add(egresos);    <-- Esto se usa para hacer Transacciones, realmente lo necesitas?

        Context.SubmitChanges();

       } 

    Saludos

     


    Antonio Lobo
    Mi blog
    jueves, 7 de julio de 2011 6:14
  • Hola Leandro T.

    El InsertOnSubmit no me aparece y cuando lo pongo dice que me falta una referencia.

    pero asi como esta ya funciono, no podria decir como sucedio, pero en fin   GRACIAS..

    jueves, 7 de julio de 2011 16:13
  • Hola Antonio L.

    Gracias por darte el tiempo de contestar  (mil x mil gracias)

    Soy super notavo en esto y todo lo voy aprendiendo al paso, pero asi como esta ya funciono, no se como ni porque.

    cuando pongo InsetOnSubmit me marca un error,  dice que me falta una referencia o algo asi.

     

    jueves, 7 de julio de 2011 16:21
  • Hola pepe

    Raro que no te salga el InsertOnSubmit pues hace parte de System.Data.Linq que debes tener ya agregado al proyecto.

    Con respecto a que te esté funcionando es bastante sencillo, como te mencioné en la respuesta anterior tu estas usando Transacciones (Transactions), es decir que puedes hacer varias consultas de agregado/editado/eliminado y luego llamar a SubmitChanges para guardar todas las consultas INSERT, DELETE o UPDATE que hayas hecho, pero como tu solo estas haciendo una consulta de insertado Leandro y yo te propusimos usar el InsertOnSubmit.

     

    Saludos


    Antonio Lobo
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi blog
    jueves, 7 de julio de 2011 16:26
  • Hola Antionio Lobo.

    No puedo agregar la referencia System.Data.Linq, el proyecto se esta realizando Silverlight (RIA Services), C#, VS2010 y Expression Blend 4, por eso puse las referencias usadas al principio del texto inicial y si te fijas no existe. como podria agregar la referencia. y nuevamente mil garcias.

    martes, 12 de julio de 2011 15:30
  • Hola pepe

    Sucede que buscando un poco tu caso, Silverlight no puede tener como referencia a System.Data.Linq asi que no puedes usar el InsertOnSubmit. Aunque ahora tengo curiosidad como estas haciendo la conexión a la BD, pues si lo haces directamente desde Silverlight no puedes hacer uso de la antes mencionada referencia... pero si lo haces desde otra capa (si usas programación por capas) lo mas seguro es que puedas usarla.

     

    Saludos


    Antonio Lobo
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi blog
    martes, 12 de julio de 2011 16:12