2010-10-21 47 views
0

我可以插入/更新/刪除罰款像產品等這樣的表,但這段代碼失敗,說該表AppAttribute不存在。正如我所說的,其他表工作正常...System.Data.SQLite表未找到

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

這是一個非常奇怪的問題。我的連接字符串是這樣的:

string _connectionString = @"Data Source=./Foo.db"; 

但是!!! (來吧)

在窗體上我有一個OpenFileDialog控件。現在對於一些生病的扭曲原因,打開對話框並選擇一個文件後,當前路徑被更改爲。如果你再建立一個新的連接,那麼「。」在連接字符串指向別的地方。

所以我改變了我的連接字符串:

string _connectionString = @"Data Source=" + Application.StartupPath + "\\Foo.db"; 

天空立刻放晴了......

PS我浪費在這個:(

0

也許你需要爲表AppAttribute定義一個PK?

+0

半天,我認爲不是因爲產品確實沒有一個也沒有,但我會嘗試。 – 2010-10-21 13:50:48

+0

不,沒有工作。 – 2010-10-21 14:14:03