بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل در اپدیت کردن فیلد دیتابیس
سلام دوستان اموزشی رو نگاه میکنم و دقیقا کد های اون رو کپی میکنم اما نمیدونم چرا برای ارور میده
کد اپدیت فیلد
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 سال پیش)
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
