问题标签 [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 - 如何使主键从 1000 开始?sqlite.net xamarin android
我需要主键从 1000 开始。怎么办?
sqlite - SQLiteAsyncConnection 的 Xamarin 表单 SQLite 问题
我正在关注官方文档中关于在 Xamarin.forms 应用程序中使用 SQLite 数据库功能的以下 Xamarin 示例。
https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/databases/
问题是,从示例项目中复制时,它使用的 sqlite.net 版本是旧的,因此出现以下函数错误:
无法识别 SQLiteAsyncConnection。
现在我可以添加 async pcl sqlite 库,但是教程会出现其他错误,其中 String 类型的连接字符串被传递给:
关于如何以最佳方式推进本教程的任何信息或帮助?或者是否有最新的最佳实践?
谢谢
c# - SQLiteAsyncConnection 按顺序插入多行?
我之前使用过 SQLite,并且在循环中使用 Insert 添加多行for
很慢。解决方案是使用transaction
.
现在我SQLiteAsyncConnection
在 SQLite.Net(用于 ORM)中使用,我也尝试使用transaction
. 它有效,但只有一个问题。插入顺序不是数据的顺序。
如果rows
包含 [1,2,3,4,5,6],则数据库中的行类似于 [3,1,2,6,4,5]。我怎样才能保持原来的订单?
请注意,我仅指新插入的行。即使代码正在替换现有行,但在测试时数据库中没有要替换的现有行。
PS:该行的ID
字段是[PrimaryKey]
,但rows
在行中没有排序ID
。似乎在数据库中的行是按ID
. 我不希望它被排序,ID
但要保持原始顺序。
PS 2:我需要知道ID
最后插入的行。当使用类似的 GUI 工具查看数据库DB Browser for SQLite
或获取最后一项时LIMIT 1
,SQLite 似乎已自动对行进行排序ID
。我做了一些谷歌搜索,它按照SQL的规则说,当没有时ORDER BY
,返回的行的顺序不保证是物理顺序,无论如何。我应该创建另一个字段并将其设置为主要的自动增加字段吗?
目前,ID
保证每行唯一,但“ID”是数据本身的一部分,而不是专门添加用于数据库的字段。
c# - SQLite-net-pcl 中的 InsertAll 和 UpdateAll VS SQLite.Net-PCL 中的 InsertOrReplaceAll
我想删除SQLite.Net-PCL包并想使用sqlite-net-pcl,因为我后来发现它SQLite.Net-PCL
没有被官方维护。
我的 Xamarin 项目中有存储GUID
为字符串类型主键的表。我有来自服务器的记录列表,目前使用InsertOrReplaceAll
方法插入新记录并更新现有记录,所有这些都基于我的GUID
主键。
现在,sqlite-net-pcl
没有InsertOrReplaceAll
方法,而是只有InsertAll
&UpdateAll
方法。Microsoft msdn Link表示检查主键是否具有可用值,并根据该值决定是否必须插入或更新记录。
但是,我有一种情况,主键值总是List
在插入或更新对象之前预先设置在 中,并且不想循环检查记录是否存在超过 500 条记录。
在这种情况下如何一次插入或替换我的所有记录?
考虑以下示例来理解这种情况:
c# - SQLite .NET,ExecuteScalarAsync,如何知道什么时候没有结果?
SQL 语句正在检索行的 ID。但可能没有这样的行。当我在 GUI 工具中执行特定的 SQL 语句时,它返回“0 行在 0 毫秒内返回:...”。
但是,当我使用 执行相同的 SQL 语句时ExecuteScalarAsync<int>
,它返回 0,并且没有发生异常或 null。我怎么知道是否没有这样的行?理论上,可以存在 ID 为 0 的行。
PS:这是我使用 Nuget ( https://github.com/praeclarum/sqlite-net ) 添加的 SQLite-net。它的版本是 1.4.118。SQL 语句非常简单。我更改了字段名称,但基本上是这样的:
sqlite - “SQLite.SQLiteException:列名重复”列名不区分大小写吗?
我在我的一个项目中使用 SQLLite.Net-PCL 3.1.1,在 SQLite 中创建表时遇到了“SQLite.SQLiteException:重复列名”问题。
原因是因为我的父类(我不拥有)有一个名为"ID"的列。我的界面有一个名为"Id"的列,注意大小写。
我通过将以下代码行添加到派生类中解决了这个问题:
[Ignore] 属性阻止将“ID”列添加到我的 SQLite 数据库中,这解决了我的问题。
我的问题是:SQLite 中的列名在设计上是不区分大小写的还是这是一个错误?
sqlite - savePoint 无效,应该是调用 SaveTransactionPoint 的结果
使用嵌套事务时,出现以下异常:
savePoint 无效,应该是调用 SaveTransactionPoint 的结果
xamarin - 如何在 xamarin.forms 中的 listview 和 sqlite 数据库之间进行数据绑定?
我尝试使用有关使用本地数据库和阅读工作应用程序(Tasky)源代码的指南来了解如何实现这一点,但我的列表视图仍然是空的。另外我想知道解决这样的问题是否可以,或者我应该创建一个视图模型,其中包含一个可观察的集合,其中填充了从数据库获得的结果?这是我的代码:
这是我的模型:
这是我的数据访问层
这是我的看法:
最后是后面的代码:
}
这是添加联系人页面:
还有代码隐藏:
c# - C# 属性地狱 - 在两个不同 SQL 平台上的移动设备和服务器之间共享一个类
我们共享一个 poco 的
- ServiceStack 网络服务
- 使用 MySQL 的 ServiceStack Orm
- 使用 Sqlite.net 的 Xamarin 移动客户端。
问题是共享课程变得一团糟。
如果还不够糟糕,我需要
- 约束数据库中每个字段的长度......
- 将这些对象保存在 MongoDb 中。幸运的是,他们有一个 AutoMapper 类可以在运行时执行此操作。
不知道该怎么办。我失败的想法包括:
尝试使用:[Conditional("DEBUG")]。但这无济于事
似乎 sqlite.net 使用了自己的属性
[AttributeUsage (AttributeTargets.Property)] 公共类 IndexedAttribute : 属性
所以它不会找到 Mysql [Index] 属性
可以尝试在每个属性上包含两个属性
[索引] [索引] public string UserAccountId { get; 放; }
我试图把它变成两个单行但 c# VS 抱怨
最后,** APPEARS ** 唯一可行的方法是将接口保留为类的单一定义,并有许多具体的类以不同的方式装饰。
有任何想法吗??
c# - 将 SQLite 表存储在 ObservableCollection 中?
此代码创建一个数据库连接,然后基于AppUser
模型创建一个表。我正在尝试存储最后一行的结果,但遇到以下错误:
CS1503 参数 1:无法从转换
Dialler1.DatabaseConnection.AsyncTableQuery<AppUser>
为System.Collections.Generic.IEnumerable<AppUser>