2017-04-11 9 views
0

私はアンドロイドスタジオにデータベースを作成しました。別のカスタムメイドの列にユーザーが入力したすべての情報が表示される.dbファイルを使って情報にアクセスできます。sqliteのアンドロイドデータベースの情報操作

私は、データベースの列に割り当てられた特定の文字列を入力するように求められていて、私のアプリケーションがそれを提供できるかどうかによって、FALSEまたはPOSITIVEを返すシナリオがあるとします。正しい情報。例については

私は2列を持つアンドロイドのスタジオでのデータベースファイルを作成しました。 列の1つは(ID)で、もう1つはNAME(人物学校の名前)の情報を格納している(NAME)です。

後で学校の生徒の名前を入力するよう求められます。ユーザーがアプリケーションに正しい情報を提供している場合は、処理を続行できます。 (ここでは、基本的には、入力している情報とデータベースに格納されている情報を一致させる必要があります)。

私は初心者です。私は自分のコードをあなたと共有し、この問題の作業を開始する方法についての提案を求めます。

//The DatabaseHelper class I am working on right now 

public class DatabaseHelper extends SQLiteOpenHelper 
{ 
    public static final String DATABASE_NAME = "miris.db"; 
    public static final String TABLE_NAME = "miris_table"; 
    public static final String COL_1 = "id"; 
    public static final String COL_2 = "name"; 


    public DatabaseHelper(Context context) 
     { 
     super(context, DATABASE_NAME, null, 1); 

    } 

    @Override 
    public void onCreate(SQLiteDatabase db) 
     { 
     db.execSQL("create table " + TABLE_NAME +" (id INTEGER PRIMARY KEY 
     AUTOINCREMENT,name 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 name) 
      { 
      SQLiteDatabase db = this.getWritableDatabase(); 
      ContentValues contentValues = new ContentValues(); 
      contentValues.put(COL_2, name); 
      long result = db.insert(TABLE_NAME,null ,contentValues); 
      if(result == -1) 
      return false; 
     else 
      return true; 

      } 
    } 

答えて

0

あなたは、例えばのためにデータベース

でそれを挿入する前にalredyデータベースに保存された情報から受け取った情報を確認することができます。

 public boolean insertData (String name) 
    { 
     SQLiteDatabase db = this.getWritableDatabase(); 
     String cols[]={COL_1,COL_2}; 

     Cursor c=db.query(TABLE_NAME, cols,COL_2+"=?",new String[]{""+name}, null, null, null); 
     if(c.getCount()>0){ 
      return false; 
     } 
     else{ 
      ContentValues contentValues = new ContentValues(); 
      contentValues.put(COL_2, name); 
      long result = db.insert(TABLE_NAME,null ,contentValues); 
      if(result == -1) 
       return false; 
      else 
       return true; 

     } 

     } 
+0

私たちはこの部分に焦点を当てる場合:カーソルC = db.query(TABLE_NAME、COLS、COL_2 + "?="、新しいString [] { "" +名}、NULL、NULL、NULL)を。 - 私はカーソルクエリーについて読むことを試みましたが、私はこの部分を理解するのが難しいです。ここでは正確に何をしていますか? –

関連する問題