我需要使用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();
}
}
你的問題不明確。你想做什麼? –
以及我想添加更多列名稱「COL_TIME」存儲「當前時間」。 – user3101751
但是這個列已經可用 –