2012-11-13 128 views
-1

我一直在研究Android應用程序一段時間,並且已經獲得它到我已經遞交併已經收到我的成績的時間點。不過,我一直在閒暇時玩弄它,並想升級一下。總結一下我的應用程序呢至今:在SQLite數據庫表中添加額外的列

  • 允許用戶創建類的列表
  • 允許用戶創建任務的列表,這些類
  • 允許用戶編輯類/分配

我最近在爲作業編輯我的助手類之後已經關閉了一個力量。我已經能夠縮小問題起源的地方。

return (getReadableDatabase().rawQuery("SELECT _id, assname, urge, name, assday, assmonth FROM assignments ORDER BY "+ orderBy, null)); 

它似乎是特定的聲明給我一個錯誤在它出現的兩個實例。

return (getReadableDatabase().rawQuery("SELECT _id, assname, urge, name, assday, assmonth FROM assignments WHERE _ID=?", args)); 

當我刪除assday來自這兩個聲明的assmonth並從中向內容添加值停止程序,錯誤消失。

我想要做的就是爲截止日期和月份添加一列,以便我可以在分配列表中顯示它。我知道如何做到這一點,但是錯誤阻止了我。先謝謝你。

+0

您將不得不提供更多信息,例如orderBy中的內容。你檢查過你的信息的有效性嗎? –

+4

在添加新列之後,您是否增加了數據庫的版本號?除非增加版本號,否則它不會識別數據庫更改。 – dymmeh

+0

我喜歡一個很好的挑戰,但我們不應該猜測你的堆棧跟蹤 – mango

回答

3

對於模糊的問題和緩慢的響應時間,我很抱歉。我在嘗試實現此功能時粗心大意,並設法忽略在「CREATE TABLE」語句中將表添加到表中。我爲每個人浪費時間而道歉。

前:db.execSQL("CREATE TABLE assignments (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, address TEXT, type TEXT);");

後:db.execSQL("CREATE TABLE restaurants (_id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, address TEXT, type TEXT, assday TEXT, assmonth TEXT);");

因爲我有兩個輔助類(我已經被告知是一個壞主意,我現在明白爲什麼)我忘了編輯其的onCreate(一) 叫做。我再次爲我的疏忽感到抱歉。

相關問題