首页 > 解决方案 > Xamarin.Fomrs SQLite DateTime 未通过查询正确插入

问题描述

在我的 Xamarin.Forms 应用程序中,我在 api 端生成查询,我直接想在我的本地数据库中执行它。

我有一张这样的桌子。

[Table("TblUnit")]
public class TblUnit
{
    [AutoIncrement, PrimaryKey]
    public int Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public bool IsFavourite { get; set; }
    public int WebId { get; set; }
    public int CompanyId { get; set; }
    public DateTime OpeningStockDate { get; set; }
}

当我尝试使用InsertAsync(object)方法添加对象时,会以正确的日期插入对象。但是当我尝试触发查询时,日期不会添加到数据库中。当我尝试从该表中获取数据时触发查询后OpeningStockDate01/01/0001.

//this is generated at api side and I directly want to fire query in my local sqlite db
var query = "insert into [TblUnit] (Name,Description,IsFavourite,WebId,CompanyId,OpeningStockDate) values('Bag','Description',true,12,185,'2021-03-04 10:00:00')";

我也尝试将日期格式更改mm/dd/yyyy为。但没有成功。

我尝试将storeDateTimeAsTicks标志设置为false。

 static readonly Lazy<SQLiteAsyncConnection> lazyInitializer = new Lazy<SQLiteAsyncConnection>(() =>
    {
        return new SQLiteAsyncConnection(Constants.DatabasePath, Constants.Flags,false);
    });

但是后来我的整个应用程序开始表现不正确。我无法从此表中获取数据。它显示日期时间解析异常。也不能使用InsertAsync方法向表中添加数据。

我在这里做错了什么?请告诉我。

谢谢

标签: c#sqlitexamarin.forms

解决方案


推荐阅读