2016-10-04 30 views
-2

我在我的數據庫這個表CastID列和Actor例如錯誤:表不存在(顯然它)

ID | Actor 
----+------ 
123 | Michael Douglas 
123 | Robert Duval 

我想返回列IDCast在我的光標的具體ID

public Cursor getCastCursor(String ID){ 

     SQLiteDatabase db = getReadableDatabase(); 
     SQLiteQueryBuilder qb = new SQLiteQueryBuilder(); 

     String[] sqlSelect = new String[]{"ID","Actor"}; 
     String[] selectionArg = new String[]{ID}; 

     qb.setTables("Cast"); 
     Cursor c = qb.query(
       db,   //SQLiteDatabase db 
       sqlSelect, //String[] projectionIn 
       "ID=?",  //String selection 
       selectionArg, //String[] selectionArgs 
       null,   //String groupBy 
       null,   //String having 
       null);  //String sortOrder 
     c.moveToFirst(); 

     return c; 
} 

我不斷收到這個錯誤,並知道爲什麼

no such table: Cast (code 1): , while compiling: SELECT ID, Actor FROM Cast WHERE (ID=?)

編輯

這裏是我的數據庫的照片。很明顯,表格存在。

enter image description here

我創建使用Python

#Add countries, genres, directors, and actors tables 
def createTables(source): 
    with sqlite3.connect(source) as connection: 
     c = connection.cursor() 
     c.execute("""Select * from Movies""") 
     all_data = c.fetchall() 
     c.execute("""CREATE TABLE IF NOT EXISTS Countries(ID TEXT,Country TEXT)""") 
     c.execute("""CREATE TABLE IF NOT EXISTS Actors(ID TEXT, Actor TEXT)""") 
     c.execute("""CREATE TABLE IF NOT EXISTS Genres(ID TEXT,Genre TEXT)""") 
     c.execute("""CREATE TABLE IF NOT EXISTS Directors(ID TEXT,Director TEXT)""") 

     for single_data in all_data: 
      countries = returnCommaDelimitedList(single_data[18]) 
      directors = returnCommaDelimitedList(single_data[8]) 
      genres = returnCommaDelimitedList(single_data[6]) 
      actors = returnCommaDelimitedList(single_data[10]) 
      for single_actor in actors: 
       c.execute("INSERT INTO Actors VALUES(?,?);",(single_data[0],single_actor)) 
      for single_country in countries: 
       c.execute("INSERT INTO Countries VALUES(?,?);",(single_data[0],single_country)) 
      for single_director in directors: 
       c.execute("INSERT INTO Directors VALUES(?,?);",(single_data[0],single_director)) 
      for single_genre in genres: 
       c.execute("INSERT INTO Genres VALUES(?,?);",(single_data[0],single_genre)) 
+0

它可能會抱怨'Cast.Cast'。也許你應該重新命名你的表到'演員'和/或列'名稱' –

+0

我試過已經 –

+0

@suku沒有ID被定義爲一個字符串 –

回答

-1

所以我打掃,重建數據庫,並重拍我的項目,然後卸載並重新安裝應用程序,並且沒有的伎倆。

相關問題