Почему SQLite не работает в моей Android Studio?

Итерации по всем узлам, для каждого узла получить значение узла и добавить текущий узел к узлу со значением.

for (int i = 0; i < N; i++) {
    nodes[nodes[i].getValue()].addChild(nodes[i])
}
-2
задан Julia 20 January 2019 в 10:59
поделиться

2 ответа

Я прочитал твой код. Я думаю, что проблема в методе обновления. попробуйте этот код:

public class SQLitehelper extends SQLiteOpenHelper {

private static String DATABASE_NAME = "Demochat.db";
String TABLE_NAME = "chatdata";
String COL_1 = "ID";
String COL_2 = "TYPE";
String COL_3 = "DATE";
String COL_4 = "TIME";
String COL_5 = "MSG";



public SQLitehelper(MainActivity context) {
    super(context, DATABASE_NAME, null, 1);

}

@Override
public void onCreate(SQLiteDatabase db) {
     db.execSQL("create table " + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT,TYPE TEXT,DATE TEXT,TIME TEXT,MSG TEXT)");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
    onCreate(db);
}
public  boolean insertData(String type, String date, String time, String msg){
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues contentValues=new ContentValues();
    contentValues.put(COL_2,type);
    contentValues.put(COL_3,date);
    contentValues.put(COL_4,time);
    contentValues.put(COL_5,msg);
    long results=db.insert(TABLE_NAME,null,contentValues);
    if(results==-1){
        return false;
    }
    else {
        return true;
    }
}
public Cursor gtealldata(){
    SQLiteDatabase db=this.getWritableDatabase();
    Cursor res=db.rawQuery("select * from "+TABLE_NAME,null);
    return res;
}

}

0
ответ дан white hills 20 January 2019 в 10:59
поделиться

Просто взглянув на создание вашей базы данных, я обнаружил несколько ошибок (в основном пропущенных пробелов). Это должно быть:

    @Override
    public void onCreate(SQLiteDatabase db) {
        final String CREATE_TABLE =
             "CREATE TABLE " + TABLE_NAME + " ("
            + COLUMN_ID + " INTEGER PRIMARY KEY, " 
            + COLUMN_NAME + " TEXT);";
        db.execSQL(CREATE_TABLE);
    }

Я бы посоветовал вам взглянуть на официальную документацию по созданию базы данных SQLite: хранилище данных SQLite .

Обычно лучше идти шаг за шагом: сначала убедитесь, что ваша база данных создана правильно, прежде чем вы начнете добавлять ее. Вы можете использовать простые, но полезные инструменты, такие как Stetho , чтобы проверить вашу базу данных.

Кроме того, вы можете отфильтровать ваш logcat, выбрав «Показать только выбранное приложение». Скриншот

0
ответ дан ellem 20 January 2019 в 10:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: