آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در اپدیت کردن فیلد دیتابیس

سامان پاپی  11 سال پیش  11 سال پیش
0 0

سلام دوستان اموزشی رو نگاه میکنم و دقیقا کد های اون رو کپی میکنم اما نمیدونم چرا برای ارور میده 

کد اپدیت فیلد

 	public void update(String table,String season, String ame,String v){
		ContentValues cv=new ContentValues();
		cv.put("star", v);
		--->mydb.update(table, cv, "season='"+season+"' and name='"+ame+"'", null);
	}
--------------------->>>>>>>mybb
---------------------->>>>> کلاسی هستش که من رو به دیتا بیس وصل میکنه و دیتابیس رو کپی میکنه


package com.amirahmadadibi.project.app.book; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class database extends SQLiteOpenHelper { public final String path = "data/data/com.amirahmadadibi.project.app.book/databases/"; public final String Name = "dataofstorys"; public SQLiteDatabase mydb; private final Context mycontext; public database(Context context) { super(context, "dataofstorys", null, 1); mycontext = context; } @Override public void onCreate(SQLiteDatabase arg0) { } @Override public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) { } public void useable() { boolean checkdb = checkdb(); if (checkdb) { } else { this.getReadableDatabase(); try { copydatabase(); } catch (IOException e) { } } } public void open() { mydb = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READONLY); } @Override public void close() { mydb.close(); } public boolean checkdb() { SQLiteDatabase db = null; try { db = SQLiteDatabase.openDatabase(path + Name, null, SQLiteDatabase.OPEN_READONLY); } catch (SQLException e) { } return db != null ? true : false; } public void copydatabase() throws IOException { OutputStream myOutput = new FileOutputStream(path + Name); byte[] buffer = new byte[1024]; int lenght; InputStream myInput = mycontext.getAssets().open(Name); while ((lenght = myInput.read(buffer)) > 0) { myOutput.write(buffer, 0, lenght); } myInput.close(); myOutput.flush(); myOutput.close(); } public String namayesh(int row , int field , String table){ android.database.Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table , null); Cursor.moveToPosition(row); String str = Cursor.getString(field); return str; } public Integer shomaresh_field(String table,String field){ Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" group by "+field, null); int i = Cursor.getCount(); return i ; } public String namayesh_fasl(String table , int row){ Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" group by season", null); Cursor.moveToPosition(row); String s = Cursor.getString(4); return s ; } public Integer shomaresh_dastan (String table , String season){ Cursor Cursor = mydb.rawQuery("SELECT * FROM "+table+" where season='"+season+"' group by name", null); int s = Cursor.getCount(); return s; } //--------------------------------------------------------------------------------- public String namayesh_dastan (String table , int row , String season , int field){ Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' group by name",null); Cursor.moveToPosition(row); String save = Cursor.getString(field); return save; } //--------------------------------------------------------------------------------- public Integer shomaresh_safhe_dastan (String table , String season , String story){ Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' and name='"+story+"'",null); int save = Cursor.getCount(); return save; } public String namayesh_matn (String table,String season,String name,int page){ Cursor Cursor = mydb.rawQuery("select * from "+table+" where season='"+season+"' and name='"+name+"' and page="+page,null); Cursor.moveToFirst(); String save = Cursor.getString(2); return save; } //--------------------------------------------------------------------------------- public void fav_update(String table,String season, String ame,String v){ ContentValues cv=new ContentValues(); cv.put("star", v); mydb.update(table, cv, "season='"+season+"' and name='"+ame+"'", null); } //--------------------------------------------------------------------------------- }

///------------------------------------------>>>>>> این هم عکسی هستش که میخوامم وقتی روش کلیک شد خودش رو عوض کنه و فیلد استار رو توی دیتا بیس تغییر بده

final ImageView star = (ImageView) row.findViewById(R.id.stara); if (Star[position].equals("1")) { star.setImageResource(R.drawable.star_on); }else { star.setImageResource(R.drawable.star_of); } star.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { db.open(); if (Star[position].equals("1")) { db.fav_update("datastorys", season, Name[position], "0"); star.setImageResource(R.drawable.star_of); Star[position] = "0"; }else { db.fav_update("datastorys", season, Name[position], "1"); star.setImageResource(R.drawable.star_on); Star[position] = "1"; } db.close(); } });

این هم عکس لیست ویو که عمل تغییر دیتا بیس توش انجام میشه وقتی که کاربر روی زنگوله بزنه

و لاگ کت به این <<<----- خط گیر میده و من این رو عینن مثل کدی که کار میکنه و اموزش داده میشه مینیویسم 

اگر نیاز هست یهم بگید تا کد های بیشتری بزارم

+1 0
تابع mydb.update رو هم بزارید ببینیم چیکار میکنه (11 سال پیش)
0 0
بفرمایید (11 سال پیش)
0 0
دوسان کسی راه حلی پیدا نکرد؟ (11 سال پیش)
 برای این سوال پاسخی وجود ندارد.

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .