C# 找不到System.Data.SQLite表

C# 找不到System.Data.SQLite表,c#,winforms,sqlite,C#,Winforms,Sqlite,我可以从诸如product之类的表中插入/更新/删除fine,但这段代码无法说明表AppAttribute不存在。正如我所说的,其他桌子工作正常 ExecuteNonQuery(BuildCommand(string.Format("DELETE FROM AppAttribute WHERE ProjectId={0};", ID))); ExecuteNonQuery(BuildCommand(string.Format("DELETE FROM CSVField WHERE

我可以从诸如product之类的表中插入/更新/删除fine,但这段代码无法说明表AppAttribute不存在。正如我所说的,其他桌子工作正常

    ExecuteNonQuery(BuildCommand(string.Format("DELETE FROM AppAttribute WHERE ProjectId={0};", ID)));
    ExecuteNonQuery(BuildCommand(string.Format("DELETE FROM CSVField WHERE ProjectId={0};", ID)));
    ExecuteNonQuery(BuildCommand(string.Format("DELETE FROM ExtraAttribute WHERE ProjectId={0};", ID)));
我的数据库中有以下架构:

BEGIN TRANSACTION;
CREATE TABLE AppAttribute (ProjectID NUMERIC, Name TEXT, Value TEXT);
CREATE TABLE AppData (PKey INTEGER PRIMARY KEY, KeyNo TEXT, FullName TEXT, EmailAddress TEXT, PostalCode TEXT, MagePassword TEXT, MageUserName TEXT, DomainName TEXT, ProductSheetTemplate TEXT);
INSERT INTO "AppData" VALUES(1,'','','','','MageCatPrinter','MageCatPrinter','http://www.ecosmartlight.com','Z:\dennisdecoene On My Mac\Documents\ML Solutions\EcoSmartLight\Productfiches\Voorbeeld van site\Sjabloon.html');
CREATE TABLE CSVField (ProjectID NUMERIC, Name TEXT, ExampleData TEXT);
CREATE TABLE ExtraAttribute (ProjectID NUMERIC, Name TEXT, PrintInTable NUMERIC);
CREATE TABLE Product (SKU TEXT, ProjectId NUMERIC, Name TEXT, AttributeSet INTEGER);
CREATE TABLE ProductAttribute (SKU TEXT, ProjectId NUMERIC, Key TEXT, Value TEXT);
CREATE TABLE Project (PKey INTEGER PRIMARY KEY, Name TEXT);
CREATE TABLE Template (Id INTEGER PRIMARY KEY, ProjectId NUMERIC, Type NUMERIC, Name TEXT, TemplateText TEXT);
COMMIT;

我还确定这是应用程序正在使用的模式,因为生成转储的是我的应用程序。

可能需要为表AppAttribute定义PK?

可能需要为表AppAttribute定义PK?

这是一个非常奇怪的问题。我的连接字符串是:

string _connectionString = @"Data Source=./Foo.db";
但是!!!(它来了)

表单上有一个OpenFileDialog控件。现在由于某些原因,在打开对话框并选择一个文件后,当前路径被更改。如果随后建立新连接,则连接字符串中的“.”将指向其他位置

因此,我将连接字符串更改为:

string _connectionString = @"Data Source=" + Application.StartupPath + "\\Foo.db";
天空立刻放晴了


PS我为此浪费了半天:(

这是一个非常奇怪的问题。我的连接字符串是:

string _connectionString = @"Data Source=./Foo.db";
但是!!!(它来了)

在窗体上,我有一个OpenFileDialog控件。现在由于某种原因,在打开对话框并选择文件后,当前路径将更改。如果您随后建立新连接,则连接字符串中的“.”将指向其他位置

因此,我将连接字符串更改为:

string _connectionString = @"Data Source=" + Application.StartupPath + "\\Foo.db";
天空立刻放晴了


PS我在这上面浪费了半天:(

我认为这不是因为产品也没有一个解决方案,它确实有效。但我会尝试。我认为这不是因为产品也没有一个解决方案,它确实有效。但我会尝试。嗨,你能给我这个解决方案的UWP版本吗?不,我不能给你一个解决方案。嗨,你能给我这个解决方案的UWP版本吗?不,我不能给你一个解决方案。