首页 > 解决方案 > Sql 不会使用 web 方法和 linq 更新

问题描述

因此,我尝试使用 DataSets 和列表以及 c# 和 SQL 更新两个表,但它不会进行任何更改,这是我的代码:

public class BusinessObject
{
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
    public int? Id { get; set; }
    public string Name { get; set; }
    public int Duration { get; set; }
    public int PercentDone { get; set; }
    public List<BusinessObject> Children { get; set; }
    public int Progress { get; set; }

}

这是我试图更新我的价值观的课程:

public void Update( List<BusinessObject> Tareas)
        {

        foreach (BusinessObject valor in Tareas)

        {

          int? taskId = valor.Id;


            spCliente_Proyectos_GanttTableAdapter DatosTAS = new spCliente_Proyectos_GanttTableAdapter();
               DSProyectosPlaneacion.spCliente_Proyectos_GanttDataTable DatosTS = DatosTAS.GetDataGantt(idProyecto.Value);
               DSProyectosPlaneacion.spCliente_Proyectos_GanttRow result = DatosTS.FirstOrDefault(sv => sv.id == valor.Id);




            if (result != null)     

                    {

                // result.id = valor.Id;
                  valor.Name = result.sTitulo ;
                  valor.StartDate = result.dFechaI;
                  valor.EndDate = result.dFechaF;
                  valor.PercentDone =(int) result.fAvance;
                }

          DatosTS.AcceptChanges();
        }


    }

web方法定义如下:

[WebMethod]
public static void UpdateIt(List<BusinessObject> Tareas)
{
    ListarClientesProyectoGantt Editar = new ListarClientesProyectoGantt();
    Editar.Update(Tareas);

}

我错过了什么?非常感谢你

标签: c#asp.net.netlinq-to-sql

解决方案


看起来您正在修改 if 语句中的变量,但我没有看到您添加到数据集中的valor任何地方。valor如果您不将其添加到数据集中,则无法将其保存到您的数据库中。


推荐阅读