问题标签 [system.data.sqlite]

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 回答
2279 浏览

.net - 从 SQLite 接收 .NET 中的数据库更新事件

我最近在http://sqlite.phxsoftware.com/发现了 SQLite 的强大之处,特别是 SQLite 的 .NET 包装器。

现在,假设我正在开发将在同一网络上的多台机器上运行的软件。没什么疯狂的,可能只有 5 或 6 台机器。并且这些软件实例中的每一个都将访问存储在共享目录中的文件中的 SQLite 数据库(这是一个坏主意吗?如果是,请告诉我!)。

如果一个实例更新数据库文件,是否有办法通知应用程序的每个实例?一种明显的方法是使用FileSystemWatcher该类,将整个数据库读入一个 DataSet,然后……你知道……枚举整个事物以查看新内容……但是,实际上,这看起来很愚蠢。有没有提供 SQLite 更新的东西?

这甚至作为一个问题有意义吗?当谈到 ADO.NET 时,我也是一个新手,所以我可能从完全错误的角度来处理这个问题。

0 投票
2 回答
1084 浏览

.net - SQLite 程序集未复制到输出文件夹以进行单元测试

问题:在我的 DAL 程序集中引用的 SQLite 程序集在进行单元测试时不会被复制到输出文件夹(复制本地设置为true)。

我正在 VS2008 中开发一个 .Net 3.5 应用程序,在我的 DAL 中使用 NHibernate 和 SQLite。数据访问通过 IRepository 接口(存储库工厂)暴露给其他层,因此不需要引用NHibernateSystem.Data.SQLite其他层中的程序集。

对于单元测试,有一个公共工厂方法(也在我的 DAL 中),它创建一个内存 SQLite 会话并创建一个新的 IRepository 实现。这样做也是为了避免为所有需要它的程序集提供共享的 SQLite 内存配置,并避免引用那些 DAL 内部程序集。

问题是当我运行驻留在单独项目中的单元测试时 - 如果我不添加System.Data.SQLite作为对单元测试项目的引用,它不会被复制到 TestResults...\Out 文件夹(尽管这个项目引用了我的DAL 项目,它引用System.Data.SQLite,其 Copy local 属性设置为true),因此在配置 NHibernate 时测试失败。如果我将引用添加到我的测试项目,那么它确实会被复制并且单元测试可以工作。

我究竟做错了什么?

[更新]

似乎我在这里找到了答案:TFS UnitTesting not deploying local copy assembly to test dir when on build server。如果我在 DAL 的某个静态方法中添加对该类型的引用,当我在测试中引用 DAL 程序集时,它将自动复制。这看起来确实像一个黑客,但恕我直言,它比拥有单独的脚本更干净,因为它创建了一个“真正的”依赖项。

如果我将 SQLite 程序集作为附加部署项添加到我的测试运行配置(LocalTestRun.testrunco​​nfig 文件)中,它似乎也会被复制。

感谢您的快速回答!

0 投票
3 回答
6808 浏览

.net - Visual Studio 加载正确的(x86 或 x64)dll

我正在使用 x86 中的 Visual Studio。我想为 x32 和 x64 构建我的应用程序。但我需要使用 sqlite .net 连接器,它有一个用于 x86 应用程序的 dll 和另一个用于 x64 应用程序的 dll。

如何配置我的 Visual Studio 以在我的配置为 x64 时加载引用,而在我的配置为 x86 时加载另一个引用?

0 投票
1 回答
4803 浏览

c# - ObjectContext ConnectionString Sqlite

我需要连接到 Sqlite 中的数据库,所以我下载并安装了System.Data.SQLite并与设计器一起拖动了我所有的表。

设计师创建了一个 .cs 文件

和 3 个构造函数

第一

这个从 App.config 加载连接字符串并且工作正常。

应用程序配置

第二

第三

这是问题所在,我已经尝试了n配置,已经使用 EntityConnectionStringBuilder 来创建连接字符串,但没有成功。

你能指出我正确的方向吗!?

编辑(1)

如果我使用无参数构造函数,我可以进行查询,但我需要更改连接字符串,我不能在我的 app.config 中使用那个。

我怎样才能构造一个有效的连接字符串?!

0 投票
1 回答
3026 浏览

sqlite - 如何在单声道下使用 System.Data.SQLite?

我下载了System.Data.SQLite,并尝试编译以下示例代码。

我运行了以下命令

但是,我收到如下错误消息。

可能有什么问题?

0 投票
1 回答
2979 浏览

c# - 带有 SQLite 的 LINQ-to-SQL:插入时“SELECT”附近的语法错误

我一直在为我的应用程序使用System.Data.SQLite提供程序。但是,当我尝试创建一个新对象并将其插入数据库时​​,我得到一个 SQL syntax error near "SELECT"

基本上我的代码看起来像:

但遍及一些方法。

这是一个常见/新手问题吗?如果是这样,我做错了什么?如果没有,我应该在哪里/如何调试它?我对 LINQ-to-SQL 比较陌生。

更新:在错误之前生成的最后一个查询的日志输出是这样的:

0 投票
1 回答
391 浏览

android - Android sqlight - 始终为空

每次我使用数据库时,它都是空的,我就是不明白。

当我有查询时,我将此代码用于 SQL:

每当我调用这个类时(我持有一个初始化的实例:mDbHelper = new GameSQLHelper(this);这是一个活动)

我总是将我的 mDbHelper 设为 null 我该如何更改它?这是我第一次在 mysql 平台之外使用 SQL,所以我有点理解这个概念的问题,而 android 记事本示例对我没有帮助。

0 投票
2 回答
1360 浏览

c# - 任何人都可以提供 SQLite“SetTimeout”的 C# 示例吗?

我在Fluent NHibernate 项目中使用 SQLite ( system.data.sqlite v. 1.0.60.0 )。

我有一个程序写入数据库,另一个程序从中读取。有时,我会遇到 SQLITE_BUSY 异常,我需要解决这个问题。

我发现了几个 Google 对sqlite_busy_timeout的引用,这(如果我理解正确的话)将导致 SQLite 在抛出异常之前重试。这可能足以满足我的需求。

但是,这似乎不在 system.data.sqlite 程序集中。

当我使用对象浏览器搜索SetTimeout时,我得到了两个结果:

System.Data.SQLite.SQLite3.SetTimeout(int)

System.Data.SQLite.SQLiteBase.SetTimeout(int)

但我似乎无法在我的代码中使用它们——它们没有出现在 Intellisense 中,并且 VS2008 显示 SQLite3 的红色下划线,并显示消息“无法在此处访问内部类”。

谁能给我一个示例(在 C# 中)显示此方法的确切语法?

或者这甚至是正确的方法?我可能会在我的代码中检查 SQLITE_BUSY,但也没有找到任何证明该方法的好例子。

最后,Fluent NHibernate 或 NHibernate 是否有任何机制来提供对 SQLite 数据库的简单共享访问?

0 投票
1 回答
4600 浏览

c# - 在 Sqlite 数据库的 DataGridViewImageColumn [Winform] 中显示图像

我有一个从中检索图像的 sqlite 数据库。我必须将这些图像显示到 Windows 数据网格中。对于绑定,我有一个名为 COntacts 的类,如下所示

所以我的第一个问题是我应该在这个联系人类中创建什么类型的属性来保存图像数据。我正在运行时创建 datagridviewcolumns。代码如下

但是当我执行应用程序时,它也会向我显示一些带有 NullReference 异常的 TargetInvocation 异常。所以请帮助我从数据库中检索图像数据并使用类、属性和集合绑定它。在它们之间,我使用MapperBase<T>自动为属性分配值。

0 投票
1 回答
3871 浏览

.net - SQLite 数据库大小太大

我正在使用 .NET 中的 SQLite 创建一个数据库,然后插入 1500 条记录(15 列,只有 3 列带有信息)。此时数据库文件大小为73mb!!(涉及的信息量巨大)。

如果我打开SQLite Administrator并执行Clear Database,它会缩小到只有 142kb。

为什么这样做?有没有办法避免呢?无论哪种方式,有没有办法从 .NET 中缩小数据库文件(我正在使用 System.Data.SQLite,它在后台使用 Finistar)?