2014-02-20 16 views
0

我需要使用SQLite與android。我可以添加數據並查看數據。但現在我需要添加更多的列,在這種情況下我設置了「COL_TIME」。首先,我嘗試更改列以將數據從「COL_LASTNAME」記錄到「COL_TIME」,但日誌貓顯示列「COL_TIME」不存在。儘管我在Databasestudent.Java 中聲明public static final String COL_TIME = "date";或者我犯了錯誤,請提供一些建議。 這裏是添加數據的類和數據庫類。我如何在Android中添加更多的SQLite專欄

DatabaseStudent.Java

class DatabaseStudent extends SQLiteOpenHelper { 
private static final String DB_NAME = "MyStudent"; 
private static final int DB_VERSION = 1; 

public static final String TABLE_NAME = "Student"; 

public static final String COL_NAME = "name"; 
public static final String COL_LASTNAME = "last_name"; 
public static final String COL_SCHOOL = "school"; 
public static final String COL_TIME = "date"; 



public DatabaseStudent(Context context) { 
    super(context, DB_NAME, null, DB_VERSION); 
} 

public void onCreate(SQLiteDatabase db) { 
    db.execSQL("CREATE TABLE " + TABLE_NAME 
      + " (_id INTEGER PRIMARY KEY AUTOINCREMENT, " 
      + COL_NAME + " TEXT, " + COL_LASTNAME 
      + " TEXT, " + COL_SCHOOL + " TEXT);"); 
    db.execSQL("INSERT INTO " + TABLE_NAME + " (" 
      + COL_NAME + ", " + COL_LASTNAME 
      + ", " + COL_SCHOOL + ") VALUES ('Sleeping'" 
      + ", 'For Less', 'Android School');"); 
    //db.execSQL("INSERT INTO " + TABLE_NAME + " (" 
    //  + COL_DATE + ") VALUES ('Android School');"); 
} 

public void onUpgrade(SQLiteDatabase db, int oldVersion 
     , int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME); 
    onCreate(db); 
} 

}

AddStudent.Java

public class AddStudent extends Activity { 
DatabaseStudent mHelper; 
SQLiteDatabase mDb; 


public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.add); 

    mHelper = new DatabaseStudent(this); 
    mDb = mHelper.getWritableDatabase(); 

    final EditText editName = (EditText)findViewById(R.id.editName); 
    final EditText editLastName = (EditText)findViewById(R.id.editLastName); 
    final EditText editSchool = (EditText)findViewById(R.id.editSchool); 

    Button buttonAdd = (Button)findViewById(R.id.buttonAdd); 

    buttonAdd.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      String name = editName.getText().toString(); 
      String lastname = editLastName.getText().toString(); 
      double school = getIntent().getDoubleExtra("Intent", 5.322); 

      //Date&Time 
      java.util.Date dt = new java.util.Date(); 
      java.text.SimpleDateFormat sdf = 
       new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
      String currentTime = sdf.format(dt); 

      if(name.length() != 0 && lastname.length() != 0 
        ) {//&& school.length() != 0 

       Cursor mCursor = mDb.rawQuery("SELECT * FROM " 
         + DatabaseStudent.TABLE_NAME + " WHERE " 
         + DatabaseStudent.COL_NAME + "='" + name + "'" 
         + " AND " + DatabaseStudent.COL_LASTNAME + "='" 
         + currentTime + "'" + " AND " 
         + DatabaseStudent.COL_SCHOOL + "='" + school //add COL_SCHOOL = currentTime 
         + "'", null); 

       if(mCursor.getCount() == 0) { 
        mDb.execSQL("INSERT INTO " + DatabaseStudent.TABLE_NAME 
          + " (" + DatabaseStudent.COL_NAME 
          + ", " + DatabaseStudent.COL_LASTNAME 
          + ", " + DatabaseStudent.COL_SCHOOL 
          + ") VALUES ('" + name + "', '" + currentTime //result ไม่มา 
          + "', '" + school + "');"); 



        editName.setText(""); 
        editLastName.setText(""); 
        editSchool.setText(""); 


     } 
    }); 

} 

public void onStop() { 
    super.onStop(); 
    mHelper.close(); 
    mDb.close(); 
} 
} 
+0

你的問題不明確。你想做什麼? –

+0

以及我想添加更多列名稱「COL_TIME」存儲「當前時間」。 – user3101751

+0

但是這個列已經可用 –

回答

0

如果要升級數據庫,即改變你必須增加數據庫版本,以便表結構android知道它必須升級它。爲了做到這一點,你需要增加這個值。

private static final int DB_VERSION = 1; 

private static final int DB_VERSION = 2; 
1

如果要修改一次創建數據庫。您將通過更改其版本代碼來將舊版本的數據庫升級到新版本。

您需要從設備上卸載較舊版本的數據庫,然後只顯示已更改數據庫版本的反映。

因此,請確保在安裝新設備之前更改數據庫版本並卸載舊的應用程序數據。

private static final int DB_VERSION = 1; 

private static final int DB_VERSION = 2; 
+0

已經完成非常感謝你 – user3101751

+0

你好,你在哪裏? – Piyush