2016-10-09 4 views
1

onclreate 메서드를 사용하여 일부 sqlite 데이터베이스에 텍스트를 삽입하고 싶습니다.Sqlite 데이터베이스에 데이터를 삽입하는 방법은 간단합니까?

나는 몇 시간 동안 노력하고있다. (작동하지 않는다 ...) (나는 새로운 @ android이다.)

andoid studio를 사용합니다. onCreate로 나에게 쉬운 방법을 보여주십시오. 첫 번째 로그 만 보여줍니다. Log.d ("Database op", "Database created");

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

관련 문제