2016-10-09 3 views
1

Я хочу вставить некоторый текст в базу данных sqlite с помощью метода onCreate.Как вставить данные в базу данных Sqlite, простой способ?

Я работаю над этим в течение нескольких часов (он не работает ...) (я новый @ android).

Использование andoid studio. Пожалуйста, покажите мне простой способ с onCreate. Он показывает только первый журнал: Log.d («База данных», «База данных создана»);

public class DatenbankHandler extends SQLiteOpenHelper { 
public static final int database_version = 1; 
public static final String DATABASE_NAME = "adventure.db"; 
public static final String dialog_var = "dialog"; 
public static final String gadget_row = "gadget"; 
public static final String TABLE_NAME = "liam"; 

public String Create_Query= "CREATE TABLE" + TABLE_NAME + " (_ID INTEGER PRIMARY KEY AUTOINCREMENT," + dialog_var + " TEXT, " + gadget_row + " TEXT);"; 


public DatenbankHandler(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { 
    super(context, DATABASE_NAME, null, database_version); 
    Log.d("Database op", "Database created"); 
} 


@Override 
public void onCreate(SQLiteDatabase db) { 
    // Create table 
    db.execSQL(Create_Query); 
    Log.d("Database Table", "Table created"); 

    // Insert into database 
    db.execSQL("INSERT INTO liam (" + dialog_var + "," + gadget_row + ") VALUES('I'm Liam', null)"); 
    Log.d("Database insert", "success"); 

} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

} 

}

+0

сначала создайте таблицу и вставьте данные в таблицу –

ответ

0

Что-то, как это должно работать ...

public class SharedPreferencesManager { 
    private SQLiteDatabase banco; 
    private Context _context; 

    private final String DATABASE_NAME = "blablabla"; 


    //0 - private (apenas essa aplicação pode usar o banco). 
    //1 - read for all (others apps can read this db). 
    //2 - write for all (others apps can write on this db). 
    private final int DATABASE_ACESS = 0; 
    private a="col_name_1",b="col_name_2",c="col_name_3",table_name="blablabla"; 
    private final String SQL_CREATE_TABLE_BLA = "CREATE TABLE IF NOT EXISTS " + table_name + "(" + 
      a+" INTEGER PRIMARY KEY AUTOINCREMENT," + 
      b+" INTEGER UNIQUE, " + 
      c+" TEXT);"; 

    public SqliteManager(Context context) { 
     this._context = context; 

     this.banco = context.openOrCreateDatabase(DATABASE_NAME, DATABASE_ACESS, null); 

     this.banco.execSQL(SQL_CREATE_TABLE_BLA); 

     insert() 

    } 

    private void insert(int number, String txt){ 
     ContentValues values = new ContentValues(); 
     values.put(this.b, number); 
     values.put(this.c, txt); 

     this.banco.insert(this.table_name, null, values); 
    } 
} 

Вам нужно создать экземпляр этого класса, как SharedPreferencesManager sqlite = new SharedPreferencesManager (ACTIVITY_OR_CONTEXT); и просто использовать sqlite.YOUR_METHOD().

+0

Спасибо, очень полезно. Работает для меня: D Отличный день! – Padda

Смежные вопросы