问题标签 [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.

0 投票
1 回答
2128 浏览

c# - SQLite.Net-PCL 没有这样的功能:ToString

我有带有Name(string) 和Number(int) 列的员工表。

我可以为任何事情搜索员工。所以,

SQLite.Net.Platform.WinRT.dll 中出现“SQLite.Net.SQLiteException”类型的异常,但未在用户代码中处理

附加信息:没有这样的功能:tostring

如何将数字列转换为字符串?

谢谢你。

0 投票
1 回答
592 浏览

c# - 无法获取 SQL:减去

我正在尝试在 Xamarin 上使用 SQLite.NET 包进行查询。

但我的代码给了我这个错误System.NotSupportedException: Cannot get SQL for: Subtract

这是我用于初始化数据库的代码

问题是什么,我该如何解决?

0 投票
1 回答
664 浏览

c# - 如何在 xamarin 的 SQLite 中创建用户定义的函数?

我试图在 xamarin 中执行这个查询

但它给了我错误信息

并且经过搜索发现Android开发者可以使用sqlite3_create_function方法在SQLite中创建新的函数。

我怎样才能在 xamarin 中做同样的事情?

0 投票
5 回答
4683 浏览

c# - 是否可以从 Sqlite 查询返回动态对象或数据集?

我在我的应用程序中使用Sqlite.NetXamarin.Forms。到目前为止,如果我的对象是这样的类,它在返回对象列表方面表现出色:

我现在想DataSet从我的查询中动态返回等效的 a

现在从第二个查询我想返回一个DataSet而不是一个对象列表。我知道我可以创建一个新对象,它结合了 和 的列,CustomersCalls我不想每次查询数据库时都必须创建对象。

是否可以动态返回 a Datasetor Object

0 投票
1 回答
1183 浏览

c# - 如何使用 Sqlite.Net 扩展过滤器

我正在使用Sqlite.Net Extensions库从我的数据库中获取对象。

我有一个列表,Id's我想从我的列表包含该 ID 的数据库中获取所有对象。

我有以下内容:

但是此代码返回错误:

[错误] 致命的未处理异常:System.Reflection.TargetInvocationException:调用目标已引发异常。---> System.NotSupportedException: 无法编译: Lambda 08-30 15:46:57.210 E/mono-rt (16849): 在 SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) [0x007aa] in :0 08-30 15:46 :57.210 E/mono-rt (16849): 在 SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 queryArgs) [0x001a5] in :0 08-30 15:46:57.210 E/mono-rt (16849): 在 SQLite.Net.TableQuery 1[T].GenerateCommand (System.String selectionList) [0x0006d] in <filename unknown>:0 08-30 15:46:57.210 E/mono-rt (16849): at SQLite.Net.TableQuery1 [T].GetEnumerator () [0x00008] in :0 08-30 15:46:57.210 E/mono-rt (16849): 在 System.Collections.Generic.List1[T]..ctor (IEnumerable1 个集合)[0x00073] 在 /Users/builder/data/lanes/3540/1cf254db/source/mono/external/referencesource/mscorlib/system/collections/generic/list.cs:98 08-30 15:46:57.210 E /mono-rt (16849): 在 System.Linq.Enumerable.ToList[TSource] (IEnumerable 1 source) [0x00011] in /Users/builder/data/lanes/3540/1cf254db/source/mono/external/referencesource/System.Core/System/Linq/Enumerable.cs:835 08-30 15:46:57.210 E/mono-rt (16849): at SQLiteNetExtensions.Extensions.ReadOperations.GetAllWithChildren[T] (SQLite.Net.SQLiteConnection conn, System.Linq.Expressions.Expression1 过滤器,布尔递归) [0x00015] 在 /Users/redent/Documents/workspace/sqlite-net-extensions/SQLiteNetExtensions/Extensions/读取操作.cs:60

那么我应该如何在GetAllWithChildren不崩溃的情况下使用该方法呢?文档非常稀疏

额外的

这是实现该方法的行

Sqlite 中可能不支持 lambda 表达式,如此处所述如果是这种情况,替代方案是什么/应该如何使用这种方法?

0 投票
1 回答
4027 浏览

c# - 何时在 Sqlite.Net 类上使用 Index 属性?

我正在使用构建移动应用程序Sqlite.Net,并且遇到了该Indexed属性。这显示在此处的示例中:https ://github.com/praeclarum/sqlite-net#example-time

正如您所看到的,该StockId列被标记为,Indexed但是在查询表时,它肯定会由Sqlite引擎来确定索引并优化查询。

所以我的问题是Indexed使用的属性是什么,我需要它吗?

0 投票
2 回答
4013 浏览

c# - 如何在 Sqlite.Net 的 where 子句中使用 DateTime

我正在编写一个移动应用程序,它使用Sqlite.Net我试图过滤我的Table使用DateTime属性和LINQ to SQL

我有以下代码:

但这会引发未设置为对象实例的对象引用并且堆栈跟踪似乎表明错误在Sqlite.Net库中,这使我相信我没有DateTimes正确使用。

警告:未处理的异常:System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.NullReferenceException:对象引用未设置为对象的实例。09-28 13:01:24.293 W/Xamarin.Insights(31238):在 SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1[T] queryArgs) [0x00613] in <8f2bb39aeff94a30a8628064be9c7efe>:0 09-28 13:01:24.293 W/Xamarin。 Insights(31238):在 SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1[T] queryArgs) [0x0064b] in <8f2bb39aeff94a30a8628064be9c7efe>:0 09-28 13:01:24.293 W/Xamarin.Insights(31238):在 SQLite.Net.TableQuery 1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1 [T] queryArgs) [0x00027] in <8f2bb39aeff94a30a8628064be9c7efe>:0 09-28 13:01:24.293 W/Xamarin.Insights(31238): 在 SQLite.Net.TableQuery1[T].CompileExpr (System.Linq.Expressions.Expression expr, System.Collections.Generic.List1[T] queryArgs) [0x00027] in <8f2bb39aeff94a30a8628064be9c7efe>:0 09-28 13:01:24.293 W/Xamarin.Insights(31238): 在 SQLite.Net.TableQuery 1[T].GenerateCommand (System.String selectionList) [0x0006d] in <8f2bb39aeff94a30a8628064be9c7efe>:0 09-28 13:01:24.293 W/Xamarin.Insights(31238): at SQLite.Net.TableQuery1[T].GetEnumerator () [0x00008] <8f2bb39aeff94a30a8628064be9c7efe>:0 09-28 13:01:24.293 W/Xamarin.Insights(31238):在 System.Collections.Generic.List 1[T]..ctor (System.Collections.Generic.IEnumerable1[T] 集合中)[0x00073] 在 /Users/builder/data/lanes/3819 /c1d1c79c/source/mono/mcs/class/referencesource/mscorlib/system/collections/generic/list.cs:98 09-28 13:01:24.293 W/Xamarin.Insights(31238):在 System.Linq.Enumerable。 ToList[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00011] 在 /Users/builder/data/lanes/3819/c1d1c79c/source/mono/mcs/class/referencesource/System.Core/系统/Linq/Enumerable.cs:861

像这样将其作为 sql statemnet 进行操作:

但是有没有办法DateTime使用LINQ to SQL进行查询?

这是错误的来源和方法

额外信息

StoreDateTimeAsTicks的设置设置为True

我对StartDateand的定义EndDate都是DateTimes

我的Dates课看起来像这样:

0 投票
1 回答
182 浏览

c# - 在 UWP C# 中验证文件写入

我试图确保将文件复制到另一个位置 - 出于 SQLite 的原因(请参阅文档库中的 UWP App SQLite Access 数据库)。

麻烦的是,如果我删除对目标 StorageFile 的访问(即拔出 USB 记忆棒然后尝试保存),如果文件写入失败,StorageFile 的 CopyAndReplaceAsync 方法将不会提及。

因此,尝试打开文件以测试它是否已成功写入(使用 GetFileFromPathAsync)会引发 COM 异常(因为该文件不存在),但即使在捕获错误后它也永远不会结束任务。

我试图弄清楚是否有更好的方法来做到这一点-我尝试使用 FileIO 来做同样的事情,但即使我正在编写的文件在 FutureAccessList 中,它似乎也不想授予访问权限.

我没有正确使用的任何想法/并发症/方法?

我拥有的相关代码如下:

0 投票
1 回答
800 浏览

xamarin.forms - 在 Xamarin Forms 中找不到 SQLite.Net-PCL 的工作示例

我似乎无法摆脱 SQLite.Net-PCL 的死角;我有一个带有 PCL 项目、Droid 项目、iOS 项目和 Windows 通用项目的 Xamarin 表单解决方案。我已经为 SQLite.Net-PCL 和 SQLite.Net.Core-PCL 安装了 nuget 包。

所以,我去 github 项目寻找一些很棒的例子来开始,但它们都不起作用;显然你必须将一个平台传递给数据库连接,但我得到了一个关于它们的引用错误(例如 SQLitePlatformWin32)。

在网上搜索参考资料,然后……什么都没有。在平台上搜索 nuget,然后......什么也没有。

我错过了什么?(是的,我觉得很愚蠢)

他们的一个例子是

并且我在“新 SQLitePlatformWin32”行上遇到无法解决的参考错误。

0 投票
1 回答
120 浏览

multithreading - 如何修复 Java 绑定:UnsatisfiedLinkError?

我一直在 xamarin 中为“kernal/io/serailport”java jar 使用绑定项目。构建过程将“serial_port.so”作为共享对象库。调用 serial_port.so 中存在的函数的 C# 代码行如下:-

现在,有趣的是,应用程序运行良好,但是当我在 android 项目中包含“sqlite-net-pcl”以进行 sqlite db 访问时,它给出了下面提到的异常:-

仅当我在 android 项目 xamarin 中添加“sqlite-net-pcl”库时才会出现此错误。

我想这个问题与线程有关。如果“sqlite-net-pcl”不包含在android项目中,则绑定项目中的c#代码调用方法会在主线程中正常执行,因此不会引发异常并且应用程序工作正常,但是,当“sqlite-net-pcl “在android项目中添加,我认为sqlite pcl库中的某些东西会在另一个线程中调用绑定项目方法,因此引发了上述异常。

现在,我的问题是如何让 c# 代码调用绑定项目方法在主线程中运行,或者我可以让 slqite-net-pcl 库在不推荐的主线程上运行。

如果我的猜测是错误的,那么引发异常的原因可能是什么,我该如何解决。
谢谢