Кто-нибудь может мне помочь, пожалуйста, я застрял здесь с прошлой недели ?
below is my SqliteHelper class and I want to create a table and initialize it with two columns first ID and second names like a real attendance register and I want to add columns of attendanceStatus on button click in java file like everyday I want to save attendance in that table(add a column per day) please give me some hint how to achieve this else i'll do on my own!
Что я уже пробовал:
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import java.text.DateFormat; import java.util.Calendar; public class SqliteHelper extends SQLiteOpenHelper { Calendar calendar; public static final String DATABASE_NAME = "attendanceDatabase.db"; public static final String TABLE_NAME = "studentAttendance"; public static final String COL_1 = "ID"; public static final String COL_2 = "NAMES"; public static String COL_3; public static int DATABASE_VERSION = 1; public SqliteHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { final String CREATE_TABLE = " CREATE TABLE " + TABLE_NAME + "(" + COL_1 + " INTEGER PRIMARY KEY AUTOINCREMENT ," + COL_2 + " TEXT " + ")"; db.execSQL(CREATE_TABLE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { calendar = Calendar.getInstance(); COL_3 = DateFormat.getDateInstance(DateFormat.FULL).format(calendar.getTime()); db.execSQL(" ALTER TABLE " + TABLE_NAME + " ADD COLUMN " + COL_3 + " TEXT "); onCreate(db); } /*public Boolean insertAttendance(){ }*/ } above is my SqliteHelper class and I want to
OriginalGriff
- пожалуйста, дайте мне какой-нибудь намек, как достичь этого, иначе я сделаю это сам!"
Тогда почему ты не сделал этого сам, раз уж "застрял здесь с прошлой недели"? Что вас останавливает (кроме того, что это плохая идея и довольно опасная)?
Member 13903083
я не в состоянии понять подход, я даже не знаю, возможно это или нет ! почему это опасный подход? предложи мне другой способ сделать то же самое! пожалуйста
OriginalGriff
Google "SQL Injection" и "Bobby Tables" по причинам, почему конкатенация строк-плохая идея.
Member 13903083
спасибо, у меня появилась новая идея !
David Crow
"...и я хочу добавить столбцы attendanceStatus при нажатии кнопки в java-файле, как каждый день я хочу сохранить посещаемость в этой таблице(добавить столбец в день)"
Возможно, вы имели в виду добавляйте по одной строке в день?
Вы создали экземпляр SqliteHelper
Где находится ваш код для фактического добавления строк?
Member 13903083
нет, я хочу добавить новую колонку в каждую сессию посещаемости !
David Crow
Это звучит как действительно плохой дизайн. Подумайте о добавлении новой таблицы с внешним ключом, который связывается обратно с COL_1
от TABLE_NAME
Затем просто добавляйте новую строку в новую таблицу каждый день .