问题标签 [sqlite.net]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sqlite - 使用 F# & SQLite.Net.Async PCL 创建数据库表
我正在尝试使用 C# Windows 8 应用程序中的 F# 项目创建一个表“材料”。这可能在库(SQLite.Net.Async)上更具体,但我没有太多运气让它工作。我明白了,“)”附近的错误:语法错误,这没有帮助,如果我能看到它试图执行的完整 SQL 查询,我可能会进一步解决这个问题。
Sql.fsi
Sql.fs
集线器.cs
然后是例外:
xamarin - 如何在 Xamarin 应用程序中设置 SQLite.NET 页面大小?PRAGMA page_size 被忽略
经过大量搜索后,我无法找到如何将 SQLite.NET 页面大小从默认值 4096 更改。我有一个带有 SQLite.NET Async PCL Nuget 的 Xamarin Forms PCL 应用程序(和 Twincoders Extensions,但这不相关) .
在平台项目中,SQLiteConnectionString 似乎没有设置 Pagesize 的工具。
我的 iOS 代码如下所示:
帮助表示赞赏!如果没有办法做到这一点,也很高兴知道这一点。
******** 编辑: ********
@Paul 建议使用 PRAGMA page_size,我相信这是正确的想法。然而 SQLite.Net 会忽略更改 page_size 的请求,即使尚未创建表且日志模式为默认值。至少在 iOS 中。除非我的代码是错误的:
在 Xamarin Forms PCL 中,我有:
在我的 iOS 项目中,我有:
这会正确执行,但不会更改页面大小。
欢迎所有想法!
********进一步编辑:********
添加 VACUUM 也没有效果:
c# - 无法使用 WP8.1 项目中引用的 System.IO.Compression 和 SQLite
我的 Windows Phone 8.1 Silverlight 项目中有一个奇怪的错误。我刚刚创建了一个小型测试项目并获得了相同的行为:
如果我安装“Microsoft.Bcl.Compression”
然后是“SQLite.Net.Platform.WindowsPhone8”
通过 NuGet,如果我尝试压缩文件,即使我在任何行中都没有使用 SQLite.NET,我也会收到以下异常。
在 entry.Open() 的以下代码中:
mscorlib.ni.dll 中出现“System.IO.Compression.ZLibException”类型的异常,但未在用户代码中处理
附加信息:无法正确加载基础压缩例程。
如果我从项目中删除 SQLite,那么压缩会按预期成功运行。
我使用压缩几个月没有问题,然后添加了 SQLite.NET 支持,现在以一个奇怪的异常结束。
我做错了吗?
xamarin - 允许在 Xamarin 上设置 page_size 的 SQLite.Net 版本?
在这里寻找或一些建议。
我的 Xamarin Forms PCL 项目正在使用 SQLite.Net-PCL、SQLite.Net.Async-PCL、SQLiteNetExtensions 和 SQLiteNetExtensions.Async——所有这些都是 NuGet。
令人失望的是,SQLite.Net-PCL 不允许将 page_size 从默认值 4096 字节更改,并且目前没有解决此问题的计划。(https://github.com/oysteinkrog/SQLite.Net-PCL/issues/128)
这使我的数据库的大小无法接受;我需要 512 个字节,这将使数据库小大约八倍。所以我希望使用允许设置 page_size 的另一个版本的 SQLite-Net(用于 Xamarin iOS/Android)。
鉴于我致力于 SQLiteNetExtensions,哪个版本的 SQLite-Net 最适合使用?
最好在我的项目中包含 SQLite 源代码吗?
SQLiteNetExtensions 和 SQLiteNetExtensions.Async NuGet 是否仍可与该版本的 SQLite 一起使用,或者我是否需要包含这些源?(TwinCoders 建议使用 NuGets for SQLite.Net。)
当然会很感激任何建议。
sqlite - Sqlite.net 不创建 Sqlite.net 扩展的属性
我的问题是,如果我想创建两个具有这[OneToMany]
两者之间关系的表。
表 OrderPos 是在没有外键的情况下创建的,因此该InsertOrUpdateAllWithChildren
方法出现异常。
我应该使用另一个派生类SqliteConnection
吗?
最好的问候,托马斯
xamarin - 如何在 Xamarin Forms PCL 的事务中使用 SQLITE 异步扩展?
我试图弄清楚如何在事务中使用 SQLITE 异步扩展方法,例如 InsertOrReplaceWithChildrenAsync(来自 TwinCoders 的 NuGet)。
在我的 Xamarin.Forms PCL 中启动时,我有:
作为旁注,我还可以执行以下操作,但我没有,因为我读到混合同步和异步数据库操作是不明智的:
我的第一个想法是:
但这会在构建时收到以下警告:
如果我在事务中使用同步方法,则以下方法确实有效:
但是,tran 只有常规的同步方法,不提供任何扩展方法,例如 InsertOrReplaceWithChildren。
我的搜索没有找到任何关于如何在事务中访问扩展方法的信息。
如果我如上所述获得 dbSync,则 dbSync 不提供扩展方法。也许这与问题有关。在我的配套 IOS 项目中,我有:
似乎添加异步包会以某种方式阻止同步扩展。然而,添加一个只有同步 SQLite.Net 和同步扩展的 PCL 助手类库,并从那里获取同步连接,并没有帮助。
xamarin - 无法从 SQLite.Net Async PCL 获取项目
我正在努力使用 SQLite.Net Async PCL 的异步 API 按 ID 获取项目。这是我的模型课
以及此处具有一对多关系的 LineItems
这是构造函数:
除了按 ID 获取发票外,其他 CRUD 方法(插入、GetALL)都在工作,而且 Visual Studio 和 Xamarin Studio 都没有给我任何有用的堆栈跟踪。
这是获取方法
我正在传递 SQLite 的 Android 实现,就像我说创建了数据库但我无法取回 Invoice 对象一样,我什至尝试过
任何帮助将不胜感激。
sqlite - Sqlite.net 扩展,无法使用 GetWithChildren 获取数据
我正在创建一个数据库,其中多个类作为其他类的子类。使用外键编写工作正常,但是当我尝试取回数据时,它会引发错误:
SQLiteNetExtensions.dll 中出现“SQLiteNetExtensions.Exceptions.IncorrectRelationshipException”类型的未处理异常
附加信息:MatchDetail.timeline:OneToOne 关系中的至少一个实体必须具有外键
这是我的创建代码:
我的班级:
其他类只是一个 id 和一些其他基本类型,我一直在努力解决这个问题,但它就是不想工作。
编辑:
有错误:
SQLiteNetExtensions.dll 中出现“SQLiteNetExtensions.Exceptions.IncorrectRelationshipException”类型的未处理异常
附加信息:MatchDetail.participantIdentities:找不到 OneToMany 关系的外键
c# - SQLite.Net-PCL 糟糕的性能 (InsertOrReplace)
此块需要 6 秒才能执行!?
我在 Tours 列表中只有 10 个游览,并且数据库架构非常简单。这里有什么问题?
编辑(解决方案):
为了加快速度,像这样包装多个事务:
c# - Windows Phone 8.1 运行时项目上的 SQLite.Net 扩展数据插入错误
我一直在使用 SQLiteAsyncConnection 进行所有数据库操作,最近我才知道它不允许表之间的关联。现在我正在移动代码以使用支持扩展的 SQLite.Net 扩展。当我将日期时间数据插入表中时,我发现了一个奇怪的问题。它完全改变了插入的日期时间。
这就是建立连接的方式。
我使用断点检查直到最后一点,是否插入了正确的数据。一切似乎都很好,它从按钮控件中获取了正确的日期,但是当它通过这部分代码时,日期值会发生变化。“ShiftStart & ShiftEnd”变量是表中的日期时间变量。有人可以请教。
感谢您阅读帖子。