Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 准备';时0x39c298上出现故障1(靠近“表”:语法错误);创建表格(_Android_Mysql_Eclipse - Fatal编程技术网

Android 准备';时0x39c298上出现故障1(靠近“表”:语法错误);创建表格(

Android 准备';时0x39c298上出现故障1(靠近“表”:语法错误);创建表格(,android,mysql,eclipse,Android,Mysql,Eclipse,我正在尝试使用200名学生的数据库执行一个应用程序,但我不知道创建数据库时出现了什么问题。请帮助。另外,如果有人能告诉我如何仅初始化两列,并让其余列保持空,这也会很有帮助 public class Work { public static final String KEY_NAME = "name"; public static final String KEY_REG = "reg"; public static final String KEY_QUIZ1 = "q1"; public s

我正在尝试使用200名学生的数据库执行一个应用程序,但我不知道创建数据库时出现了什么问题。请帮助。另外,如果有人能告诉我如何仅初始化两列,并让其余列保持空,这也会很有帮助

public class Work {

public static final String KEY_NAME = "name";
public static final String KEY_REG = "reg";
public static final String KEY_QUIZ1 = "q1";
public static final String KEY_QUIZ2 = "q2";
public static final String KEY_QUIZ3 = "q3";
public static final String KEY_CAT1 = "c1";
public static final String KEY_CAT2 = "c2";
public static final String KEY_TEE = "t";

private DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;

private static final String DATABASE_NAME = "data";
private static final String DATABASE_TABLE = "table";
private static final int DATABASE_VERSION = 1;

private static class DbHelper extends SQLiteOpenHelper{

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_REG + " TEXT, " + 
                KEY_NAME + " TEXT, " +
                KEY_QUIZ1 + " TEXT, " +
                KEY_QUIZ2 + " TEXT, " +
                KEY_QUIZ3 + " TEXT, " +
                KEY_CAT1 + " TEXT, " +
                KEY_CAT2 + " TEXT, " +
                KEY_TEE + " TEXT);"

                );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TBALE IF EXIISTS " + DATABASE_TABLE);
        onCreate(db);
    }
}
public Work(Context c){
    ourContext = c;

}

public Work open() throws SQLException{
    ourHelper = new DbHelper(ourContext);
    ourDatabase = ourHelper.getWritableDatabase();
    return this;

}
public void close(){
    ourHelper.close();
}

public long createEntry(String string, String string2) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();
    cv.put(KEY_REG, string);
    cv.put(KEY_NAME, string2);
/*      cv.put(KEY_QUIZ1, string3);
    cv.put(KEY_QUIZ2, string4);
    cv.put(KEY_QUIZ3, string5);
    cv.put(KEY_CAT1, string6);
    cv.put(KEY_CAT2, string7);
    cv.put(KEY_TEE, string8);*/
    return ourDatabase.insert(DATABASE_TABLE, null, cv);

}


}
有人能帮我找到错误吗?我对SQL很陌生,对它的方式有点冷淡

这是我用来在一个SQLDatabase中创建200个条目的代码

        case R.id.bres:
        int i;
        boolean did=true;
        try{
        Work e = new Work(this);
        e.open();
        for(i=0;i<200;i++)
        {
            e.createEntry(reg2[i],na[i],"0","0","0","0","0","0");
        }
        e.close();
        }
        catch(Exception e){
            did=false;
            Dialog d = new Dialog(this);
            d.setTitle("Failed");
            TextView tv= new TextView(this);
            tv.setText("Error");
            d.setContentView(tv);
            d.show();
        }
        finally{
            did=true;
        }
这是SQL数据库类的工作

public class Work {

public static final String KEY_NAME = "name";
public static final String KEY_REG = "reg";
public static final String KEY_QUIZ1 = "q1";
public static final String KEY_QUIZ2 = "q2";
public static final String KEY_QUIZ3 = "q3";
public static final String KEY_CAT1 = "c1";
public static final String KEY_CAT2 = "c2";
public static final String KEY_TEE = "t";

private DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;

private static final String DATABASE_NAME = "data";
private static final String DATABASE_TABLE = "stable";
private static final int DATABASE_VERSION = 1;

private static class DbHelper extends SQLiteOpenHelper{

    public DbHelper(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        // TODO Auto-generated method stub
        db.execSQL("CREATE TABLE " + DATABASE_TABLE + " (" +
                KEY_REG + " TEXT, " + 
                KEY_NAME + " TEXT, " +
                KEY_QUIZ1 + " TEXT, " +
                KEY_QUIZ2 + " TEXT, " +
                KEY_QUIZ3 + " TEXT, " +
                KEY_CAT1 + " TEXT, " +
                KEY_CAT2 + " TEXT, " +
                KEY_TEE + " TEXT);"

                );
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        // TODO Auto-generated method stub
        db.execSQL("DROP TBALE IF EXISTS " + DATABASE_TABLE);
        onCreate(db);
    }
}
public Work(Context c){
    ourContext = c;

}

public Work open() throws SQLException{
    ourHelper = new DbHelper(ourContext);
    ourDatabase = ourHelper.getWritableDatabase();
    return this;

}
public void close(){
    ourHelper.close();
}

public long createEntry(String string, String string2, String string3, String string4, String string5, String string6, String string7, String string8) {
    // TODO Auto-generated method stub
    ContentValues cv = new ContentValues();
    cv.put(KEY_REG, string);
    cv.put(KEY_NAME, string2);
    cv.put(KEY_QUIZ1, string3);
    cv.put(KEY_QUIZ2, string4);
    cv.put(KEY_QUIZ3, string5);
    cv.put(KEY_CAT1, string6);
    cv.put(KEY_CAT2, string7);
    cv.put(KEY_TEE, string8);
    return ourDatabase.insert(DATABASE_TABLE, null, cv);

}

public String getq1(int j) {
    // TODO Auto-generated method stub
    int i=0;
    String[] columns = new String[]{KEY_REG, KEY_NAME, KEY_QUIZ1, KEY_QUIZ2, KEY_QUIZ3, KEY_CAT1, KEY_CAT2, KEY_TEE};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String res = "";
    int iQ1=c.getColumnIndex(KEY_QUIZ1);
    for(c.moveToFirst();i<j;i++,c.moveToNext())
    {}  
    res = c.getString(iQ1);
    return res;
}

public String getq2(int j) {
    // TODO Auto-generated method stub
    int i=0;
    String[] columns = new String[]{KEY_REG, KEY_NAME, KEY_QUIZ1, KEY_QUIZ2, KEY_QUIZ3, KEY_CAT1, KEY_CAT2, KEY_TEE};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String res = "";

    int iQ1=c.getColumnIndex(KEY_QUIZ2);
    for(c.moveToFirst();i<j;i++,c.moveToNext())
    {}  
    res = c.getString(iQ1);
    return null;
}

public String getq3(int j) {
    // TODO Auto-generated method stub
    int i=0;
    String[] columns = new String[]{KEY_REG, KEY_NAME, KEY_QUIZ1, KEY_QUIZ2, KEY_QUIZ3, KEY_CAT1, KEY_CAT2, KEY_TEE};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String res = "";

    int iQ1=c.getColumnIndex(KEY_QUIZ3);
    for(c.moveToFirst();i<j;i++,c.moveToNext())
    {}  
    res = c.getString(iQ1);
    return null;
}

public String getc1(int j) {
    // TODO Auto-generated method stub
    int i=0;
    String[] columns = new String[]{ KEY_REG, KEY_NAME, KEY_QUIZ1, KEY_QUIZ2, KEY_QUIZ3, KEY_CAT1, KEY_CAT2, KEY_TEE};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String res = "";

    int iQ1=c.getColumnIndex(KEY_CAT1);
    for(c.moveToFirst();i<j;i++,c.moveToNext())
    {}  
    res = c.getString(iQ1);
    return null;
}

public String getc2(int j) {
    // TODO Auto-generated method stub
    int i=0;
    String[] columns = new String[]{ KEY_REG, KEY_NAME, KEY_QUIZ1, KEY_QUIZ2, KEY_QUIZ3, KEY_CAT1, KEY_CAT2, KEY_TEE};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String res = "";

    int iQ1=c.getColumnIndex(KEY_CAT2);
    for(c.moveToFirst();i<j;i++,c.moveToNext())
    {}  
    res = c.getString(iQ1);
    return null;
}

public String gette(int j) {
    // TODO Auto-generated method stub
    int i=0;
    String[] columns = new String[]{KEY_REG, KEY_NAME, KEY_QUIZ1, KEY_QUIZ2, KEY_QUIZ3, KEY_CAT1, KEY_CAT2, KEY_TEE};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
    String res = "";
    int iQ1=c.getColumnIndex(KEY_TEE);
    for(c.moveToFirst();i<j;i++,c.moveToNext())
    {}  
    res = c.getString(iQ1);
    return null;
    }
}
公共课堂作业{
公共静态最终字符串键\u NAME=“NAME”;
公共静态最终字符串键\u REG=“REG”;
公共静态最终字符串键_QUIZ1=“q1”;
公共静态最终字符串键_QUIZ2=“q2”;
公共静态最终字符串键_QUIZ3=“q3”;
公共静态最终字符串键\u CAT1=“c1”;
公共静态最终字符串键_CAT2=“c2”;
公共静态最终字符串键\u TEE=“t”;
私人助理;
私人最终语境;
私有SQLITE数据库;
私有静态最终字符串数据库\u NAME=“data”;
私有静态最终字符串数据库\u TABLE=“stable”;
私有静态最终int数据库_VERSION=1;
私有静态类DbHelper扩展了SQLiteOpenHelper{
公共DbHelper(上下文){
super(上下文、数据库名称、null、数据库版本);
//TODO自动生成的构造函数存根
}
@凌驾
public void onCreate(SQLiteDatabase db){
//TODO自动生成的方法存根
db.execSQL(“创建表”+数据库表+”(“+
按键_REG+“文本,”+
按键名称+“文本,”+
按键_QUIZ1+“文本,”+
按键2+“文本,”+
按键3+“文本,”+
按键\u CAT1+“文本,”+
按键_CAT2+“文本,”+
按键_TEE+“文本);”
);
}
@凌驾
public void onUpgrade(SQLiteDatabase db,int-oldVersion,int-newVersion){
//TODO自动生成的方法存根
db.execSQL(“如果存在,则删除TBALE”+数据库表);
onCreate(db);
}
}
公共工作(背景c){
ourContext=c;
}
public Work open()引发SQLException{
ourHelper=newdbhelper(ourContext);
ourDatabase=ourHelper.getWritableDatabase();
归还这个;
}
公众假期结束(){
ourHelper.close();
}
公共长createEntry(字符串、字符串2、字符串3、字符串4、字符串5、字符串6、字符串7、字符串8){
//TODO自动生成的方法存根
ContentValues cv=新的ContentValues();
cv.put(按键注册,字符串);
cv.put(图例名称,string2);
cv.put(图例1,第3列);
cv.put(键2、键4);
cv.put(键3,键5);
cv.put(第1类、第6类键);
cv.put(第2类、第7类键);
等速推杆(关键三通,第8条);
返回ourDatabase.insert(DATABASE_TABLE,null,cv);
}
公共字符串getq1(int j){
//TODO自动生成的方法存根
int i=0;
String[]columns=新字符串[]{KEY_REG,KEY_NAME,KEY_QUIZ1,KEY_QUIZ2,KEY_QUIZ3,KEY_CAT1,KEY_CAT2,KEY_TEE};
游标c=ourDatabase.query(数据库表,列,null,null,null,null,null);
字符串res=“”;
int iQ1=c.getColumnIndex(键_QUIZ1);
对于(c.moveToFirst();i您不能使用表格创建表格

也可以看到这篇文章

也会改变

db.execSQL("DROP TBALE IF EXIISTS " + DATABASE_TABLE);


table
是关键字
table
是保留字:或使用`转义关键字
db.execSQL(“创建表”+数据库表+”`(“
。但不建议这样做。不要将任何已解析的单词用作有帮助的表名。谢谢。还有其他问题。@VirenChugh哪个问题,请用问题更新您的问题。我已将其作为答案发布。@VirenChugh将其从答案中删除并添加到您的问题中,然后发布您正在获得的错误。完成。问题实际上是未知的。我是否应该发布entire代码?
db.execSQL("DROP TBALE IF EXIISTS " + DATABASE_TABLE);
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);