即時得到這個錯誤,當我嘗試訪問我查看SQLiteException - 沒有這樣的表
我已經建立了我的數據庫/查看使用該
CREATE TABLE Boxer(
BoxerId INTEGER PRIMARY KEY AUTOINCREMENT,
Firstname NVARCHAR(50) NOT NULL,
Lastname NVARCHAR(50) NOT NULL
);
CREATE TABLE Match(
MatchId INTEGER PRIMARY KEY AUTOINCREMENT,
BoxerA INTEGER NOT NULL FOREIGN KEY REFERENCES Boxer(BoxerId),
BoxerB INTEGER NOT NULL FOREIGN KEY REFERENCES Boxer(BoxerId),
MatchDate date NOT NULL DEFAULT GETDATE(),
NumberOfRounds INTEGER NOT NULL DEFAULT 12
);
CREATE TABLE Round(
RoundId INTEGER PRIMARY KEY AUTOINCREMENT,
MatchId INTEGER NOT NULL FOREIGN KEY REFERENCES Match(MatchId),
BoxerA INTEGER NOT NULL DEFAULT 0,
BoxerB INTEGER NOT NULL DEFAULT 0,
Position INTEGER NOT NULL
);
/*
Building a view which dislpays matches with boxers names and total scores
*/
CREATE VIEW MatchDetail AS
SELECT Match.MatchId, A.BoxerId AS IdA, B.BoxerId AS IdB, A.Firstname + ' ' + A.Lastname AS NameA, B.Firstname + ' ' + B.Lastname AS NameB,
(SELECT SUM(R.BoxerA) AS Score FROM Round AS R WHERE (R.MatchId = Match.MatchId)) AS ScoreA,
(SELECT SUM(R.BoxerB) AS Score FROM Round AS R WHERE (R.MatchId = Match.MatchId)) AS ScoreB,
Match.MatchDate, Match.NumberOfRounds
FROM Boxer AS A INNER JOIN Match ON A.BoxerId = Match.BoxerA INNER JOIN Boxer AS B ON Match.BoxerB = B.BoxerId
我已經差不多構建我的應用程序,到目前爲止使用記事本例子,所以我再打電話給我DbHelper
Cursor MatchesCursor = mDbHelper.fetchAllMatchDetails();
這然後調用查詢
public Cursor fetchAllMatchDetails(){
return mDb.query(VIEW_MATCHDETAIL, new String[] {
"MatchId"
}, null, null, null, null, null);
}
VIEW_MATCHDETAIL被定義爲一個字符串= 「MatchDetail」
,它是在這些地方它崩潰說
沒有這樣的表MatchDetail:在編譯SELECT MatchId FROM MatchDetail
沒有人有這個問題之前?
哦,所以你知道,當我上運行創建腳本我的本地SQL數據庫,它創建表和視圖罰款! – Steve 2011-05-25 20:40:58
的東西,我沒有發現是一個SimpleCursorAdapter需要一個「_id」列,以便香港專業教育學院還更新了我的字段名稱爲這個 – Steve 2011-05-25 22:13:19