我可以从像产品这样的表中插入/更新/删除罚款,但这段代码失败,说表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;
我也确定这是应用正在使用的架构,因为它是我的应用程序生成转储。
答案 0 :(得分:0)
也许您需要为表AppAttribute定义PK?
答案 1 :(得分:0)
这是一个非常奇怪的问题。我的连接字符串是这样的:
string _connectionString = @"Data Source=./Foo.db";
BUT !!! (来了)
在表单上我有一个 OpenFileDialog控件。现在对于一些生病的邪恶扭曲的原因,在打开对话框并选择文件后,当前路径被更改。如果您再建立新连接,则为“。”在连接字符串中指向其他地方。
所以我将连接字符串更改为:
string _connectionString = @"Data Source=" + Application.StartupPath + "\\Foo.db";
天空立刻消失了......
PS我浪费了半天时间:(