نوشته شده توسط
farhad_shiri_ex
این خطا به صراحت داره میگه که table person وجود نداره!
یا نام جدول اشتباه میزنید ویا واقعا این جدول در دیتابیس تون وجود نداره!
اینا کلاس های دیتا بیس هستن مشکل اتصال یا غلط املایی ندارن
public class info_db {
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "book1";
public static final String DATA_ID = "id";
public static final String DATA_CATEGORY = "category";
public static final String DATA_NAME = "name";
public static final String DATA_FILED = "filed";
public static final String DATA_DISC = "disc";
public static final String DATA_IMAGE = "image";
public static final String DATA_FAV = "fav";
public static final String PACKAGE = "data/data/com.ehsan.bookthink/databases/";
public static final String DATABASE_SOURCE = "book1.db";
}
package com.ehsan.bookthink.Model;
public class Person {
private int id;
private String category;
private String name;
private String filed;
private String disc;
private String image;
private int fav;
public Person() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getFiled() {
return filed;
}
public void setFiled(String filed) {
this.filed = filed;
}
public String getDisc() {
return disc;
}
public void setDisc(String disc) {
this.disc = disc;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public int getFav() {
return fav;
}
public void setFav(int fav) {
this.fav = fav;
}
}
public class DataBase extends SQLiteOpenHelper {
private Context context;
public DataBase(Context context) {
super(context,info_db.DATABASE_NAME,null,info_db.DATABASE_VERSION);
this.context = context;
isDataBase();
}
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
private void isDataBase(){
File check = new File(info_db.PACKAGE);
if (check.exists()){
}else{
check.mkdir();
}
check = context.getDatabasePath(info_db.DATABASE_NAME);
if (check.exists()){
}else{
try {
copyDataBase();
}catch (IOException e){
e.printStackTrace();
}
}
}
private void copyDataBase() throws IOException{
InputStream myInput = context.getAssets().open(info_db.DATABASE_SOURCE);
String outFileName = info_db.PACKAGE + info_db.DATABASE_NAME;
OutputStream myOutput = new FileOutputStream(outFileName);
byte[] buffer = new byte[1024];
int length;
while ((length = myInput.read(buffer))>0){
myOutput.write(buffer,0,length);
}
myOutput.flush();
myOutput.close();
myInput.close();
}
public List<Person> getAllPerson(){
SQLiteDatabase db =this.getReadableDatabase();
List<Person> data = new ArrayList<>();
String query = " SELECT * FROM person ";
Cursor cursor = db.rawQuery(query,null);
if (cursor.moveToFirst()){
do {
Person person = new Person();
person.setId(cursor.getInt(cursor.getColumnIndex(i nfo_db.DATA_ID)));
person.setCategory(cursor.getString(cursor.getColu mnIndex(info_db.DATA_CATEGORY)));
person.setName(cursor.getString(cursor.getColumnIn dex(info_db.DATA_NAME)));
person.setFiled(cursor.getString(cursor.getColumnI ndex(info_db.DATA_FILED)));
person.setDisc(cursor.getString(cursor.getColumnIn dex(info_db.DATA_DISC)));
person.setImage(cursor.getString(cursor.getColumnI ndex(info_db.DATA_IMAGE)));
person.setFav(cursor.getInt(cursor.getColumnIndex( info_db.DATA_FAV)));
data.add(person);
}while (cursor.moveToNext());
}
cursor.close();
db.close();
return data;
}
public List<Person> getiranPerson(){
SQLiteDatabase db = this.getReadableDatabase();
List<Person> data = new ArrayList<>();
String query = " SELECT * FROM person WHERE category = 'irani' ";
Cursor cursor = db.rawQuery(query,null);
if (cursor.moveToFirst()){
do {
Person person = new Person();
person.setId(cursor.getInt(cursor.getColumnIndex(i nfo_db.DATA_ID)));
person.setCategory(cursor.getString(cursor.getColu mnIndex(info_db.DATA_CATEGORY)));
person.setName(cursor.getString(cursor.getColumnIn dex(info_db.DATA_NAME)));
person.setFiled(cursor.getString(cursor.getColumnI ndex(info_db.DATA_FILED)));
person.setDisc(cursor.getString(cursor.getColumnIn dex(info_db.DATA_DISC)));
person.setImage(cursor.getString(cursor.getColumnI ndex(info_db.DATA_IMAGE)));
person.setFav(cursor.getInt(cursor.getColumnIndex( info_db.DATA_FAV)));
data.add(person);
}while (cursor.moveToNext());
}
cursor.close();
db.close();
return data;
}
public List<Person> getForeignPerson(){
SQLiteDatabase db = this.getReadableDatabase();
List<Person> data = new ArrayList<>();
String query = " SELECT * FROM person WHERE category = 'foreign' ";
Cursor cursor = db.rawQuery(query,null);
if (cursor.moveToFirst()){
do {
Person person = new Person();
person.setId(cursor.getInt(cursor.getColumnIndex(i nfo_db.DATA_ID)));
person.setCategory(cursor.getString(cursor.getColu mnIndex(info_db.DATA_CATEGORY)));
person.setName(cursor.getString(cursor.getColumnIn dex(info_db.DATA_NAME)));
person.setFiled(cursor.getString(cursor.getColumnI ndex(info_db.DATA_FILED)));
person.setDisc(cursor.getString(cursor.getColumnIn dex(info_db.DATA_DISC)));
person.setImage(cursor.getString(cursor.getColumnI ndex(info_db.DATA_IMAGE)));
person.setFav(cursor.getInt(cursor.getColumnIndex( info_db.DATA_FAV)));
data.add(person);
}while (cursor.moveToNext());
}
cursor.close();
db.close();
return data;