2016-05-30 2 views
-1

手作業で私のDBを開いた時、私はテーブルを変更したときにデータをリストに表示することができました。バグを見つけT:これは私のDBのテーブルです:SQLITE - Android /データを表示するバグ

DBhelperからgetalllinesを使用して表示するためのメインコード:

obj = (ListView) findViewById(R.id.listView1); 

     List<line> array_list = db.getAlllines(); 

     ArrayAdapter<line> arrayAdapter = new ArrayAdapter<line>(this, android.R.layout.simple_list_item_1, array_list); 

     obj.setAdapter(arrayAdapter); 

私の方法getalllines:

public List<line> getAlllines() { 
      List<line> lines = new LinkedList<line>(); 

      String query = "SELECT * FROM " + TABLE_LINE; 

      SQLiteDatabase db = this.getWritableDatabase(); 
      Cursor cursor = db.rawQuery(query, null); 

      // 3. go over each row, build book and add it to list 
      line linee = null; 
      if (cursor.moveToFirst()) { 
       do { 
        linee = new line(); 
        linee.setId(Integer.parseInt(cursor.getString(0))); 
        linee.setLinename(cursor.getString(1)); 
        linee.setFromgare(cursor.getString(2)); 
        linee.setTogare(cursor.getString(3)); 

        lines.add(linee); 
       } while (cursor.moveToNext()); 
      } 

      Log.d("getAlllines()", lines.toString()); 

      return lines; 
     } 

、あなたは私がテーブルの作成方法を知っておく必要がある場合:削除する必要があり

public void onCreate(SQLiteDatabase db) { 
      // SQL statement to create book table 
      String CREATE_LINES_TABLE = "CREATE TABLE lines (" + 
        "_id INTEGER NOT NULL," + 
        "linename VARCHAR," + 
        "fromgare VARCHAR," + 
        "togare VARCHAR," + 
        "PRIMARY KEY(_id))"; 

      // create books table 
      db.execSQL(CREATE_LINES_TABLE); 
     } 

:あなたの

@Override 
     public void onCreate(SQLiteDatabase db) { 
      // SQL statement to create book table 
      String CREATE_LINES_TABLE = "CREATE TABLE lines (" + 
        "_id INTEGER NOT NULL," + 
        "linename VARCHAR," + 
        "fromgare VARCHAR," + 
        "togare VARCHAR," + 
        "PRIMARY KEY(_id))"; 

      // create books table 
      db.execSQL(CREATE_LINES_TABLE); 
     } 

     @Override 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
      // Drop older books table if existed 
      db.execSQL("DROP TABLE IF EXISTS lines"); 

      // create fresh books table 
      this.onCreate(db); 
     } 
+0

とは何を意味するのかうまくいきませんか? – e4c5

+0

私は10行の完全なテーブルを持っていますが、何も表示されません。 –

+0

DBからデータを取得しようとすると、onResumeメソッド(別のアクティビティを開いてDBを変更した場合) –

答えて

0

をIDに "_"

関連する問題