Android 为sql db创建多模块表(a-z表)

Android 为sql db创建多模块表(a-z表),android,mysql,sql,database,sqlite,Android,Mysql,Sql,Database,Sqlite,我一直在尝试使用for循环创建一个多表数据库。db是用来建立一个游戏,用单词和它们在另一种语言中的翻译来学习英语,但这就是为什么我需要一个字母a-Z的表格 这就是为什么我认为最好的方法是在一个循环中。 我一直在尝试向我的DBHelper添加一个扩展SQLiteOpenHelper的循环,但我不知道为什么,它不允许我这样做。它试着做一些类似的事情: private static class DBHelper extends SQLiteOpenHelper{ char c = 'A'; S

我一直在尝试使用for循环创建一个多表数据库。db是用来建立一个游戏,用单词和它们在另一种语言中的翻译来学习英语,但这就是为什么我需要一个字母a-Z的表格 这就是为什么我认为最好的方法是在一个循环中。 我一直在尝试向我的DBHelper添加一个扩展SQLiteOpenHelper的循环,但我不知道为什么,它不允许我这样做。它试着做一些类似的事情:

private static class DBHelper extends SQLiteOpenHelper{
char c = 'A';
    String[] tableT, DATABASE_TABLE;
    for (int i = 0; i<26; i++){
        DATABASE_TABLE[i] = "" + c;
        tableT[i] ="CREATE TABLE " + DATABASE_TABLE[0] + " (" +
            KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            KEY_WORDS + " TEXT NOT NULL, " + 
            KEY_TRANSLATION + " TEXT NOT NULL, " +
            KEY_TURNLEFT + " TEXT NOT NULL, " + 
            KEY_ISKNOWN + " TEXT NOT NULL, " + 
                            KEY_TOLEARN + " TEXT NOT NULL);";
                     c++;
    }

有人知道为什么吗?有没有一种方法可以在这个类之外执行循环并以某种方式访问它?

如果我没有误解您的意思,您正在尝试使用不同的名称创建每个表。但您正在创建具有相同名称的表:

     DATABASE_TABLE[i] = "" + c;
每次都将使用表名A。此外,您始终仅从数组中设置表号0:

     tableT[i] ="CREATE TABLE " + DATABASE_TABLE[0]
您的循环应该如下所示:

           char c = 'A';
String[] tableT, DATABASE_TABLE;
for (int i = 0; i<26; i++){
    DATABASE_TABLE[i] = c +"_"+i;
    tableT[i] ="CREATE TABLE " + DATABASE_TABLE[i] + " (" +
        KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        KEY_WORDS + " TEXT NOT NULL, " + 
        KEY_TRANSLATION + " TEXT NOT NULL, " +
        KEY_TURNLEFT + " TEXT NOT NULL, " + 
        KEY_ISKNOWN + " TEXT NOT NULL, " + 
                        KEY_TOLEARN + " TEXT NUT NULL);";
}
这应该给出表名,如A_1、A_2等


eclipse显示的错误必须在代码中忘记设置声明的任何地方{,但这不是postet。你说eclips是什么意思?在表的末尾用红色标记分号并显示错误?单词table在哪里?

对不起。你为什么需要26个表,每个单词一个?你应该可以用一个表就可以了。顺便说一句,至少有一个问题是最后一行的NUT为空。我需要A-Z tables,不是每个单词的表格。谢谢你注意到,你不需要每个字母都有表格。所有字母都有一个表格就可以了。我怎么能只使用一个表格呢?我希望能够轻松地找到特定字母中的单词。如果我使用一个表格,就很难知道每个字母中的单词在哪里。添加一个列来指定我编辑了我的问题以便更清楚。不管怎样,我的想法是得到A-Z表,但是你是对的,我忘记修改c了,我的问题是我知道如何创建循环+/-,但是由于某种原因,当我在DBHelper类中时,它不允许我编写像往常一样编写代码。这可能是因为类扩展了SQLiteOpenHelper吗?。
           char c = 'A';
String[] tableT, DATABASE_TABLE;
for (int i = 0; i<26; i++){
    DATABASE_TABLE[i] = c +"_"+i;
    tableT[i] ="CREATE TABLE " + DATABASE_TABLE[i] + " (" +
        KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
        KEY_WORDS + " TEXT NOT NULL, " + 
        KEY_TRANSLATION + " TEXT NOT NULL, " +
        KEY_TURNLEFT + " TEXT NOT NULL, " + 
        KEY_ISKNOWN + " TEXT NOT NULL, " + 
                        KEY_TOLEARN + " TEXT NUT NULL);";
}