首页 > 解决方案 > 如何修复 Xamarin.Forms 中的 DateTime 更新问题?

问题描述

我正在使用 xamarin 表单。我在 SQLite 更新中的日期时间字段上有一些问题。

我正在使用的下表:

public class DataTable
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }
    public int WorkOrderId { get; set; }
    public Nullable<DateTime> TargetDateTime { get; set; }
}

对于 DatePicker.Date,我在设计中使用 DatePicker 并选择任何日期:

DateChange dateChange=new DateChange();
dateChange.WorkOrderId=1;
dateChange.RescheduleDate=DatePicker.Date;
AddMwoReschedule(dateChange);

这是更新语句,我正在使用:

public List<EngMwoReschedulingTxn> AddMwoReschedule(DateChange dateChange)
{
    DateTime dt = new DateTime();
    dt = dateChange.RescheduleDate;
    conn.Query<DataTable>("update DataTable set TargetDateTime='" + dt + "' where WorkOrderId='"+engMwoReschedulingTxn.WorkOrderId+"'");
}

结果:

DataTable的更新TargetDateTime如下所示:01-01-0001 00:00:00

谁能帮我解决这个问题?

标签: sqlitexamarin.formssqlite-net

解决方案


使用 LinQ 代码可以正常工作。我正在使用这样的查询: conn.Query("update DataTable set TargetDateTime='" + dt.Ticks + "' where WorkOrderId='"+engMwoReschedulingTxn.WorkOrderId+"'");


推荐阅读