دیتابیس SQLite

گزارش
سوال

لطفا علت گزارش خود را توضیح دهید.

گزارش لغو

سلام روزتون بخیر

من برایه معرفی دیتابیس به اندروید استدیو از کلاس  SQLiteOpenHelper که  استفاده میکردم

که سر متدد queryبه مشکل خوردم و از اموزش یکی از مدرس غضو همین سایت

که با روش به حالت ریپ در اوردن دیتابیس و معرفی کتاب خانه android-sqlite-asset-helper به

برنامه شدم

مشکل اینجاس من یه دیتابیس کتاب دارم با فیلد هایه  id,onvan,daste,matn,  من فقط سورس

کد هایه  کلاس SQLiteOpenHelper  رو مینویسم و خطا میده

سورس کد کلاس

فرق میکه من باید طبق این دیتابیس او سورس کد

رو چه جوری تهیه

کنم…………

HELP.ME

 

 

در حال پیشرفت 0
اندروید - android 3 پاسخ 161 بازدید 1

درباره نویسنده

پاسخ ها ( ۳ )

  1. ehsan.k
    0
    ۲۷, اردیبهشت , ۱۳۹۸ در ۱:۲۷ ق.ظ

    لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.

    گزارش لغو

    سلام خدمت شما دوست عزیز
    سوال شما کمی نامفهوم بود از دید بنده…
    ولی برای کار با دیتابیس Sqlite آموزشهای زیادی هم در این سایت و هم در سایت های دیگه موجوده که میتونید استفاده کنید…
    شاد و پیروز باشید 🙂

  2. محمد حسین جعفری پور
    0
    ۲۷, اردیبهشت , ۱۳۹۸ در ۴:۵۰ ب.ظ

    لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.

    گزارش لغو

    سلام و درود
    فکر می کنم شما دیتابیستون رو داخل پوشه assets قرار دادید حالا می خواید بخونیدش برای اینکار کد زیر بهتون کمک می کنه

    فقط در بالا به جای DATABASE_PATH نام پکیج خودتون رو در بخشی از رشته تغییر بدید و اینکه نام دیتابیس رو هم به جای YOUR database name قرار دهید.

    موفق و پیروز باشید.

  3. ahmadghadimii
    0
    ۳۰, اردیبهشت , ۱۳۹۸ در ۵:۳۳ ب.ظ

    لطفا علت گزارش خود را در رابطه با این پاسخ بنویسید.

    گزارش لغو

    روز بخیر ممنون پاسخ تون
    من از سورس کد زیر برایه معرفی دیتابیس استفاده می کنم که وقتی به متدد هایه
    میرسم این متدد ها درست اجرا نمی شنCursor

    public Cursor getStroy(int id){
    String query = “SELECT * FROM “+story_tbl+” WHERE id = ‘”+id+”‘”;
    return database.rawQuery(query,null);
    }

    public Cursor getAll(int category){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+ DBOpenHelper.category +” = ‘”+category+”‘ ORDER BY id DESC”;
    return database.rawQuery(query,null);
    }

    public void setFav(int id,int fav){
    String sql = “UPDATE “+story_tbl+” SET “+favorite+” = “+fav+” WHERE “+ DBOpenHelper.id +” = “+id+” ;”;
    database.execSQL(sql);
    }

    public Cursor getFav(){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+favorite+” = ‘1’ “;
    return database.rawQuery(query,null);
    }

    public Cursor searchFav(String s){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+story+” like ‘%”+s+”%’ AND “+favorite+” = 1 ;”;
    return database.rawQuery(query,null);
    }

    public Cursor search(int cate,String s){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+category+” = “+cate+” AND “+story+” like ‘%”+s+”%’ ;”;
    return database.rawQuery(query,null);
    }

    این متدد ها درست اجرا نمی شه

    ———————————————————————————————————————————–
    سورس کامل دیتابیس

    package ir.hetbo.book_java.database;

    import android.content.Context;
    import android.database.Cursor;
    import android.database.SQLException;
    import android.database.sqlite.SQLiteDatabase;
    import android.database.sqlite.SQLiteOpenHelper;

    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;

    /**
    * Created by Hetbo on 1/8/2018.
    */

    public class DBOpenHelper extends SQLiteOpenHelper {

    private static int db_version = 1;
    static String db_name = “book”;
    static String db_path = “/data/data/ir.hetbo.book_java/databases/”;
    private Context context;
    private SQLiteDatabase database;

    final static String story_tbl = “tbl1”;
    final static String id = “id”;
    final static String title = “onvan”;
    final static String category = “daste”;
    final static String favorite = “fav”;
    final static String story = “matn1″;

    public DBOpenHelper(Context context) {
    super(context, db_name, null, db_version);
    this.context = context;
    }

    private boolean checkExist() {
    SQLiteDatabase db = null;
    try{
    db = SQLiteDatabase.openDatabase(db_path+db_name, null, SQLiteDatabase.OPEN_READONLY);
    }
    catch(SQLException e) {}
    return db != null;
    }

    private void copyDatabase() throws IOException {
    OutputStream myOutput = new FileOutputStream(db_path+db_name);
    byte[] buffer = new byte[1024];
    int length;
    InputStream myInput = context.getAssets().open(db_name+”.db”);
    while ((length = myInput.read(buffer)) > 0) {
    myOutput.write(buffer, 0, length);
    }
    myInput.close();
    myOutput.flush();
    myOutput.close();
    }

    public void importIfNotExist() throws IOException {
    boolean dbExist = checkExist();
    if (!dbExist) {
    this.getReadableDatabase();
    try {
    copyDatabase();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

    public void open(){
    database = SQLiteDatabase.openDatabase(db_path+db_name, null, SQLiteDatabase.OPEN_READWRITE);
    }

    public void close(){
    database.close();
    }

    public Cursor getStroy(int id){
    String query = “SELECT * FROM “+story_tbl+” WHERE id = ‘”+id+”‘”;
    return database.rawQuery(query,null);
    }

    public Cursor getAll(int category){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+ DBOpenHelper.category +” = ‘”+category+”‘ ORDER BY id DESC”;
    return database.rawQuery(query,null);
    }

    public void setFav(int id,int fav){
    String sql = “UPDATE “+story_tbl+” SET “+favorite+” = “+fav+” WHERE “+ DBOpenHelper.id +” = “+id+” ;”;
    database.execSQL(sql);
    }

    public Cursor getFav(){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+favorite+” = ‘1’ “;
    return database.rawQuery(query,null);
    }

    public Cursor searchFav(String s){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+story+” like ‘%”+s+”%’ AND “+favorite+” = 1 ;”;
    return database.rawQuery(query,null);
    }

    public Cursor search(int cate,String s){
    String query = “SELECT * FROM “+story_tbl+” WHERE “+category+” = “+cate+” AND “+story+” like ‘%”+s+”%’ ;”;
    return database.rawQuery(query,null);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {

    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
    }

ارسال نظر