1. EXISTS expected, got 'EXISTSuser'
2. INDEX, TABLE, TEMP, TEMPORARY, TRIGGER, UNIQUE, VIEW or VIRTUAL expected, got 'TABLEuser'
เค้าทำแอพ login & register ค่ะ
มันขึ้น error ประมาณนี้เลยค่ะ เวลารันก็ขึ้นปกตินะคะ แต่พอกดเข้าสู่ระบบแล้วเด้งไปอยู่หน้าจอโทรศัพท์ปกติค่ะ ดังรูป
ในส่วนของโค้ดที่เขียนนะคะ
ใส่โค้ด
package com.kpdev.ex_login_register_sqlite;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import androidx.annotation.ContentView;
import androidx.annotation.Nullable;
public class DBHelper extends SQLiteOpenHelper {
//กำหนดเวอร์ชัน Database
private static final int DATABASE_VERSION = 1;
//กำหนดชื่อ Database
private static final String DATABASE_NAME = "UserManager.sqLiteDatabase";
//กำหนดชื่อตาราง
private static final String TABLE_USER = "user";
//สร้างคอลัมบ์
private final static String _ID = BaseColumns._ID;
private static final String COLUMN_USER_ID = "user_id";
private static final String COLUMN_USER_NAME = "user_name";
private static final String COLUMN_USER_EMAIL = "user_email";
private static final String COLUMN_USER_Username = "user_username";
private static final String COLUMN_USER_PASSWORD = "user_password";
//คำสั่งในการ สร้างเทเบิ้ล
private String CREATE_USER_TABLE = "CREATE TABLE" + TABLE_USER +
"(" + COLUMN_USER_ID + "INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_USER_NAME + "TEXT,"
+ COLUMN_USER_EMAIL + "TEXT," + COLUMN_USER_Username + "TEXT," + COLUMN_USER_PASSWORD + "TEXT," + ")";
//คำสั่งในการลบเทเบิ้ล
private String DROP_USER_TABLE = "DROP TABLE IF EXISTS" + TABLE_USER;
public DBHelper(@Nullable Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(CREATE_USER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
//ตรวจสอบว่ามีการสร้าง ดาต้าเบสหรือยัง ถ้ามีแล้วให้ลบทิ้งไป
sqLiteDatabase.execSQL(DROP_USER_TABLE);
//สร้างเทเบิ้ลใหม่
onCreate(sqLiteDatabase);
}
public void addUser(User user) {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_USER_NAME, user.getName());
values.put(COLUMN_USER_EMAIL, user.getEmail());
values.put(COLUMN_USER_Username, user.getUsername());
values.put(COLUMN_USER_PASSWORD, user.getPassword());
//บันทึกข้อมูล
sqLiteDatabase.insert(TABLE_USER, null, values);
sqLiteDatabase.close();
}
public boolean checkUser(String username, String password) {
String[] columns = {
COLUMN_USER_ID
};
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
String selection = COLUMN_USER_Username + "= ?" + " AND " + COLUMN_USER_PASSWORD + " = ?";
String[] selectionArgs = {username, password};
Cursor cursor = sqLiteDatabase.query(TABLE_USER, //ชื่อดาต้าเบส
columns, //คอลัมบ์ที่คืนกลับมาให้
selection, // เงื่อนไขในการเลือก
selectionArgs, // คอลัมบ์ที่ต้องการเลือก
null, // กรุ้พ
null, // เงื่อนไขในการกรุ๊พ
null); //ออร์เดอร์ของรายการข้อมูล
int cursorCount = cursor.getCount();
cursor.close();
sqLiteDatabase.close();
if (cursorCount > 0) {
return true;
} else {
return false;
}
}
}
Android Studio ขึ้น error ช่วยหน่อยค่ะ
2. INDEX, TABLE, TEMP, TEMPORARY, TRIGGER, UNIQUE, VIEW or VIRTUAL expected, got 'TABLEuser'
เค้าทำแอพ login & register ค่ะ
มันขึ้น error ประมาณนี้เลยค่ะ เวลารันก็ขึ้นปกตินะคะ แต่พอกดเข้าสู่ระบบแล้วเด้งไปอยู่หน้าจอโทรศัพท์ปกติค่ะ ดังรูป
ในส่วนของโค้ดที่เขียนนะคะ
package com.kpdev.ex_login_register_sqlite;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.provider.BaseColumns;
import androidx.annotation.ContentView;
import androidx.annotation.Nullable;
public class DBHelper extends SQLiteOpenHelper {
//กำหนดเวอร์ชัน Database
private static final int DATABASE_VERSION = 1;
//กำหนดชื่อ Database
private static final String DATABASE_NAME = "UserManager.sqLiteDatabase";
//กำหนดชื่อตาราง
private static final String TABLE_USER = "user";
//สร้างคอลัมบ์
private final static String _ID = BaseColumns._ID;
private static final String COLUMN_USER_ID = "user_id";
private static final String COLUMN_USER_NAME = "user_name";
private static final String COLUMN_USER_EMAIL = "user_email";
private static final String COLUMN_USER_Username = "user_username";
private static final String COLUMN_USER_PASSWORD = "user_password";
//คำสั่งในการ สร้างเทเบิ้ล
private String CREATE_USER_TABLE = "CREATE TABLE" + TABLE_USER +
"(" + COLUMN_USER_ID + "INTEGER PRIMARY KEY AUTOINCREMENT," + COLUMN_USER_NAME + "TEXT,"
+ COLUMN_USER_EMAIL + "TEXT," + COLUMN_USER_Username + "TEXT," + COLUMN_USER_PASSWORD + "TEXT," + ")";
//คำสั่งในการลบเทเบิ้ล
private String DROP_USER_TABLE = "DROP TABLE IF EXISTS" + TABLE_USER;
public DBHelper(@Nullable Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
sqLiteDatabase.execSQL(CREATE_USER_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
//ตรวจสอบว่ามีการสร้าง ดาต้าเบสหรือยัง ถ้ามีแล้วให้ลบทิ้งไป
sqLiteDatabase.execSQL(DROP_USER_TABLE);
//สร้างเทเบิ้ลใหม่
onCreate(sqLiteDatabase);
}
public void addUser(User user) {
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(COLUMN_USER_NAME, user.getName());
values.put(COLUMN_USER_EMAIL, user.getEmail());
values.put(COLUMN_USER_Username, user.getUsername());
values.put(COLUMN_USER_PASSWORD, user.getPassword());
//บันทึกข้อมูล
sqLiteDatabase.insert(TABLE_USER, null, values);
sqLiteDatabase.close();
}
public boolean checkUser(String username, String password) {
String[] columns = {
COLUMN_USER_ID
};
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
String selection = COLUMN_USER_Username + "= ?" + " AND " + COLUMN_USER_PASSWORD + " = ?";
String[] selectionArgs = {username, password};
Cursor cursor = sqLiteDatabase.query(TABLE_USER, //ชื่อดาต้าเบส
columns, //คอลัมบ์ที่คืนกลับมาให้
selection, // เงื่อนไขในการเลือก
selectionArgs, // คอลัมบ์ที่ต้องการเลือก
null, // กรุ้พ
null, // เงื่อนไขในการกรุ๊พ
null); //ออร์เดอร์ของรายการข้อมูล
int cursorCount = cursor.getCount();
cursor.close();
sqLiteDatabase.close();
if (cursorCount > 0) {
return true;
} else {
return false;
}
}
}