-2
我在我的数据库这个表Cast
与ID
列和Actor
例如错误:表不存在(显然它)
ID | Actor
----+------
123 | Michael Douglas
123 | Robert Duval
我想返回列ID
和Cast
在我的光标的具体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=?)
编辑
这里是我的数据库的照片。很明显,表格存在。
我创建使用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))
它可能会抱怨'Cast.Cast'。也许你应该重新命名你的表到'演员'和/或列'名称' –
我试过已经 –
@suku没有ID被定义为一个字符串 –