package com.example.sqlitetest.helper;
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "Timestamp";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_TABLE = "TimeRecord";
private static final String COLUMN_AID = "aid";
private static final String COLUMN_EMPLOYEEID = "employeeid";
private static final String COLUMN_STATUS = "status";
private static final String COLUMN_DATETIME = "createtime";
private static final String DATABASE_CREATE = "create table "+ DATABASE_TABLE + "("
+ COLUMN_AID + " INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_EMPLOYEEID + " TEXT,"
+ COLUMN_STATUS + " TEXT," + COLUMN_DATETIME + " DEFAULT CURRENT_TIMESTAMP)";
public DatabaseHelper(Context context){
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS" + DATABASE_TABLE);
onCreate(db);
}
public void addTimeRecord(TimeRecord timerecord){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_EMPLOYEEID, timerecord.getEmployeeid());
values.put(COLUMN_STATUS, timerecord.getStatus());
values.put(COLUMN_DATETIME, getDateTime());
db.insert(DATABASE_TABLE, null, values);
db.close();
}
คือไม่รู้จะเอาคำสั่ง SQL มาใส่ตรงไหนให้มันเช็คค่าในฐานข้อมูลก่อนว่ามีค่า status = in อยู่ก่อน record นี้หรือไม่ใช่ โดยเช็คจาก id เดียวกันน่ะครับ
อันนี้เป็น คำสั่ง SQL ที่ผมใช้ตอน mySQL
Code
"SELECT * FROM time_card WHERE aid = (SELECT MAX(aid) FROM time_card WHERE employee_id = '$number')
AND employee_id = '$number' AND in_out = 'check_in'";