标签: system.data.sqlite

Visual Studio - 使用System.Data.SQLite在项目中安装InstallShield

我有一个引用System.Data.SQLite(来自nuget)的C#类库.这是构建后我的bin文件夹的结构:

  • MyProject.dll
  • System.Data.SQLite.dll
  • 86/SQLite.Interop.dll
  • X64/SQLite.Interop.dll

System.Data.SQLite需要SQLite.Interop运行并在运行时找到正确的dll.但是,当我使用包含项目主输出的InstallShield生成安装程序时,不会复制x86和x64文件夹,并且我的应用程序无法运行.

有什么方法可以强制Visual Studio在主输出中包含x86和x64文件夹?

有没有办法在InstallShield中手动包含文件夹和相对路径?

我的环境:

  • Visual Studio 2012专业版
  • 安装Shield 2013限量版(免费)
  • System.Data.SQLite 1.0.96

dll installshield system.data.sqlite visual-studio-2012 installshield-le

8
推荐指数
1
解决办法
1113
查看次数

当我从'int'类型的sqlite列中选择时,我可以转换为.net int但是当我从'integer'列中选择时我不能

我正在使用System.Data.SQLite,从一个sqlite数据库表中选择一个列的类型为'integer',当我做这样的事情时:

int x = (int)reader["myColumn"];
Run Code Online (Sandbox Code Playgroud)

它失败.问题不在于该值为空; 该列不可为空.如果我将列的数据类型更改为"int",那么它可以正常工作.列中的值为"2","3","4"等; 没什么大不了的.

任何人都知道这是否是预期的行为?

c# system.data.sqlite

7
推荐指数
1
解决办法
1万
查看次数

如何在SQLite中默认启用外键级联删除?

SQLite v3.7.5

有没有一种方法,使SQLite的外键cascade delete默认启用?给出以下示例:

CREATE TABLE [Parent] (
[ParentId] INTEGER  NOT NULL PRIMARY KEY AUTOINCREMENT,
[Name] VARCHAR(50)  UNIQUE NOT NULL
);

CREATE TABLE [Child] (
[ChildId] INTEGER  PRIMARY KEY AUTOINCREMENT NOT NULL,
[ParentId] INTEGER  NOT NULL,
[Name] VARCHAR(50)  NOT NULL,
FOREIGN KEY(ChildId) REFERENCES Child(ParentId) ON DELETE CASCADE
);
Run Code Online (Sandbox Code Playgroud)

我能够启用级联删除的唯一方法是PRAGMA foreign_keys = true在事务之前执行命令:

using( var conn = new SQLiteConnection( _conn ) )
{
    conn.Open();
    var pragma = new SQLiteCommand( "PRAGMA foreign_keys = true;", conn ); …
Run Code Online (Sandbox Code Playgroud)

c# sqlite foreign-keys system.data.sqlite

7
推荐指数
1
解决办法
6328
查看次数

Win 2K8 Server计算机上的Visual Studio 2010无法识别System.Data.Sqlite

我有一个Windows Server 2008(64位)框,我正在开发.我已经安装了Visual Studio 2010和System.Data.SQLite(来自sqlite.phxsoftware.com).我的问题是,前者没有看到后者.也就是说,当我转到Visual Studio中的服务器资源管理器并选择"连接到数据库"并出现"选择数据源"窗口时,SQLite不会出现在数据源列表下.有谁知道这笔交易是什么?这可能是Windows Server 2008的一个问题,因为过去我在Windows 7机箱上没有VS 2010 + System.Data.Sqlite的问题.

更新:System.Data.SQLite和System.Data.SQLite.Linq程序集显示在我的GAC中

system.data.sqlite visual-studio-2010 windows-server-2008-r2

7
推荐指数
2
解决办法
8356
查看次数

如何使用System.Data.SQLite和C#在代码中从头开始创建和持久化SQLite DB?

我有一个数据库创建工具,我从头开始创建一个数据库.这与在此提到的方式相同.它创建了一个临时数据库,我可以向其添加数据.

当我关闭数据库时,它被删除,这是预期的行为,但我不希望它被删除.

我在System.Data.SQLite中找不到Save或Create方法,并创建一个System.IO.File.Create(myDBFilename);创建SQLite无法连接的文件.

如何从头开始在代码中创建和保留数据库?

c# sqlite system.data.sqlite

7
推荐指数
2
解决办法
1万
查看次数

在实体框架中查找给定主键的对象

我有一个表"Customer",它在实体框架中是相应的ORMapping Entity Customer,我想找到一个对应于给定主键的对象.有点像customerobject.getbjectByID()lambda表达式或查询.

.net c# entity-framework system.data.sqlite

7
推荐指数
2
解决办法
2万
查看次数

通过System.Data.SQLite和c#多次访问单个SQLite数据库文件

正如我可以从SQLite FAQ中读到的,它支持多个进程读取(SELECT),并且在任何时刻都只支持一个进程写入(INSERT,UPDATE,DELETE)数据库:

SQLite使用读取器/写入器锁来控制对数据库的访问.当任何进程想要写入时,它必须在更新期间锁定整个数据库文件.但这通常只需要几毫秒.其他流程只是等待作者完成然后继续他们的业务

我通过c#使用System.Data.SQLite适配器.

有人可以告诉我PLZ,这个过程到底是怎么回事?

这个过程是否会自动运行,编写SQLiteCommand只会等待另一个SQLiteCommand已经在同一个数据库上执行?

或者它可能会抛出异常?什么样的?

抱歉,但我没有找到有关此机制的信息:)

谢谢.

更新:

我发现帖子说异常会引发一个特定的错误代码

这句话是否正确?

c# database sqlite locking system.data.sqlite

7
推荐指数
1
解决办法
2万
查看次数

在SQLite数据库中存储NaN值

我想将NaN值插入SQLite数据库.

我有与Id,StringColumn和DoubleColumn(不可为空)的Ent表,我尝试使用以下SQL语句:

INSERT INTO Ent (Id, StringColumn, DoubleColumn) VALUES (1, 'NaN test', ????)
Run Code Online (Sandbox Code Playgroud)

我不知道该代替'????' 有NaN存储.

我正在使用System.Data.SQLite访问数据库 - 也许这也很重要?

sqlite system.data.sqlite

7
推荐指数
2
解决办法
6687
查看次数

SQL Lite异常

我已经SQLLite在我的应用程序中生成了我的模型,但是当我尝试调用DBContextCall时它会抛出异常.

System.IO.FileLoadException发生 了类型的异常,mscorlib.dll但未在用户代码中处理

附加信息:无法加载文件或程序集'System.Data.SQLite.EF6,Version = 1.0.93.0,Culture = neutral,PublicKeyToken = db937bc2d44ff139'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

请帮我.

.net sqlite system.data.sqlite

7
推荐指数
1
解决办法
1097
查看次数

在 EF Core 中在 Sqlite 或 SqlServer 之间切换的一般方法?

我希望能够在使用 SQLite 和 SqlServer 作为 ASP.NET Core 应用程序中实体框架的数据库提供程序之间进行切换。

DbContext将 a与数据库提供程序关联的通常模式是通过ConfigureServices方法中的代码:

        services.AddDbContext<FeedbackDbContext>(options => options.UseSqlite(Configuration.GetConnectionString("Feedback")));
Run Code Online (Sandbox Code Playgroud)

EF Core 的每个数据库提供程序都添加了自己的扩展方法,如Use<Provider>.

令我惊讶的是,我找不到在配置中为连接字符串指定数据库提供程序的方法

sql-server system.data.sqlite entity-framework-core asp.net-core

7
推荐指数
1
解决办法
5875
查看次数