roboman78
دوشنبه 04 خرداد 1394, 23:56 عصر
سلام دوستان من یه دیتابیس دارم که از سرور آپ میشه
میخوام وقتی دریافت کردم موقع نشون دادن تو لیست ویو از id بزرگ به کوچیک نمایش داده بشه اینو میدونم باید از order by id استفاده کنم ولی چطوریه؟
ممنون
roboman78
سه شنبه 05 خرداد 1394, 00:45 صبح
یعنی وقتی که اول دیتا از نت آپ میشه به درستی از بزرگ به کوچیک نشون داده میشه
ولی وقتی کاربر یه جمله ای رو لایک کنه و دوباره از سرور آپ بشه دیگه روال عادی نیست جمله ی آخر که دریافت شده میره تو آخرین آیتم لیست
roboman78
سه شنبه 05 خرداد 1394, 14:32 عصر
??????????????????
pbm_soy
چهارشنبه 06 خرداد 1394, 00:28 صبح
سوال شما مبهم است اگر منظورت دستور است از پارامتر زیر استفاده میکنید
Order by Id desc
اگه منظورتون با اضافه کردن رکوردی دوباره میخواید مرتب داشته باشید!
درکل میتونم بگم بعد از اضافه کردن رکورد جدید عملیات قبلی که برای نمایش انجام میدادی را دوباره انجام بده!
شما بهتربود بیشتر توضیح میدادید مثلا دادها دیتابیس را کجا نمایش میدی و به چه صورت اینکار را انجام میدی؟
ویا حتی تو دیتابیس نوع فیلد id چیست؟ و رکورد جدیدت چه مقداری میگیرد؟
roboman78
چهارشنبه 06 خرداد 1394, 22:39 عصر
درواقع میخوام بعد از اضافه کردن رکورد
دوباره مرتب بشه
roboman78
چهارشنبه 06 خرداد 1394, 23:21 عصر
یعنی بعد از انجام یکسری عملیات براساس آی دی مرتب شه لیست
roboman78
جمعه 08 خرداد 1394, 00:27 صبح
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ل طفا
pbm_soy
جمعه 08 خرداد 1394, 01:20 صبح
من قبلا اشاره کردم که چیکار باید انجام بدید!
یا اینکه کد را بذارید تا دوستان راهنمای کنند
roboman78
شنبه 09 خرداد 1394, 01:07 صبح
من مشکلم اینه نمیدونم چطور از order استفاده کنم و به لیست ویو بدمش یعنی میخوام بگم پس از فلان عملیات بیا دوباره لیستو بر اساس id بچین
aliireza
شنبه 09 خرداد 1394, 10:25 صبح
ساختار order براساس دریافت اطلاعات کار میکنه نه ذخیره اطلاعات. منظور اینکه در دیتابیس اطلاعات براساس id زیر هم sort میشن و این شمایی که موقع دریافت و خوندن این اطلاعات تعیین میکنید که چطوری این اطلاعات نمایش داده بشن و اینجوری نیست که براساس یک order کل دیتابیس تغییر کنه و ذخیره بشه.
شما وقتی کاربری مطلبی رو لایک میکنه میایید اطلاعات رو اینسرت میکنید یا آپدیت؟ چون براساس پست دوم خودتون که گفتید بعد از لایک کردن یک جمله، اون جمله میاد آخرین آیتم، به نظر میرسه شما اطلاعات رو اینسرت میکنید.
roboman78
یک شنبه 10 خرداد 1394, 08:25 صبح
ممنون
ولی با این کد آپدیت میکنم
// ---updates a contact--- public boolean updateContact(Sms up_nam) {
ContentValues args = new ContentValues();
args.put(KEY_ID, up_nam.getId());
args.put(KEY_SMS, up_nam.getSms());
args.put(KEY_SUB, up_nam.getSub());
args.put(KEY_FAV, up_nam.getFav());
args.put(KEY_EXTRA, up_nam.getExtera());
return db.update(DATABASE_TABLE, args, KEY_ID + "=" + up_nam.getId(),
null) > 0;
}
tux-world
یک شنبه 10 خرداد 1394, 09:18 صبح
خوب شما الان از چه کدی برای select کردن و واکشی دیتا استفاده میکنید؟ order by باید تو اون لحاظ بشه. کدتون رو بزارید اصلاح کنم
ـــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــ
مهندس مهدی پیشگوی
tux-world
یک شنبه 10 خرداد 1394, 09:24 صبح
...........................................
roboman78
یک شنبه 10 خرداد 1394, 17:12 عصر
با این کلاس ست میکنم
public class Sms implements Parcelable {
private int id;
private String sms;
private String sub;
private int fav;
private String extera;
public Sms() {
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getSms() {
return sms;
}
public void setSms(String sms) {
this.sms = sms;
}
public void setSub(String sub) {
this.sub = sub;
}
public String getSub() {
return sub;
}
public int getFav() {
return fav;
}
public void setFav(int fav) {
this.fav = fav;
}
public void setExtera(String extera) {
this.extera = extera;
}
public String getExtera() {
return extera;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return sms ;
}
public Sms(Parcel in) {
// Log.i(DBOpenHelper.LOGTAG, "Parcel constructor");
id = in.readInt();
sms = in.readString();
sub = in.readString();
fav = in.readInt();
extera = in.readString();
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(id);
dest.writeString(sms);
dest.writeString(sub);
dest.writeInt(fav);
dest.writeString(extera);
}
public static final Parcelable.Creator<Sms> CREATOR = new Parcelable.Creator<Sms>() {
@Override
public Sms createFromParcel(Parcel source) {
return new Sms(source);
}
@Override
public Sms[] newArray(int size) {
return new Sms[size];
}
};
}
اینم dbadapter
public class DBAdapter {
public static final String KEY_ID = "id";
public static final String KEY_SMS = "sms";
public static final String KEY_SUB = "sub";
public static final String KEY_FAV = "fav";
public static final String KEY_EXTRA = "extera";
public static final String DATABASE_NAME = "Jomlaatzibaa";
public static final String DATABASE_TABLE = "data";
public static final String TAG = "MSH";
static final String CREATE_TABLE = "CREATE TABLE "
+ DATABASE_TABLE + " (" + KEY_ID
+ " INTEGER PRIMARY KEY NOT NULL , " + KEY_SMS + " TEXT, "
+ KEY_SUB + " CHAR NOT NULL DEFAULT متفرقه, " + KEY_FAV + " INTEGER NOT NULL DEFAULT 0, "
+ KEY_EXTRA + " TEXT)";
String[] yek_name = new String[] { KEY_ID, KEY_SMS, KEY_SUB,KEY_FAV, KEY_EXTRA };
final Context context;
DatabaseHelper DBHelper;
SQLiteDatabase db;
public DBAdapter(Context ctx) {
this.context = ctx;
DBHelper = new DatabaseHelper(context);
}
private static class DatabaseHelper extends SQLiteOpenHelper {
DatabaseHelper(Context context) {
// DATABASE_VERSION = 1
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(CREATE_TABLE);
} catch (SQLException e) {
e.printStackTrace();
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
Log.w(TAG, "Upgrading database from version " + oldVersion + " to "
+ newVersion + ", which will destroy all old data");
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
}
public DBAdapter open() throws SQLException {
db = DBHelper.getWritableDatabase();
return this;
}
public void close() {
DBHelper.close();
}
public List<Sms> getAllContacts() {
Cursor cursor = db.query(DATABASE_TABLE, yek_name, null, null, null,
null, null);
List<Sms> nams = cursorToList(cursor);
return nams;
}
private List<Sms> cursorToList(Cursor cursor) {
List<Sms> nams = new ArrayList<Sms>();
if (cursor.getCount() > 0) {
while (cursor.moveToNext()) {
Sms nam = new Sms();
nam.setId(cursor.getInt(cursor.getColumnIndex(KEY_ ID)));
nam.setSms(cursor.getString(cursor.getColumnIndex( KEY_SMS)));
nam.setSub(cursor.getString(cursor.getColumnIndex( KEY_SUB)));
nam.setFav(cursor.getInt(cursor.getColumnIndex(KEY _FAV)));
nam.setExtera(cursor.getString(cursor.getColumnInd ex(KEY_EXTRA)));
nams.add(nam);
};
}
return nams;
}
public Sms getContact(int new_id) throws SQLException {
List<Sms> nams = new ArrayList<Sms>();
Cursor cursor = db.query(true, DATABASE_TABLE, yek_name, KEY_ID
+ " == '" + new_id + "'", null, null, null, null, null);
Sms nam = new Sms();
if (cursor != null) {
cursor.moveToFirst();
nams = cursorToList(cursor);
}
Log.i(TAG, nam.getSms() + ",database");
return nams.get(0);
}
// /search
public List<Sms> findContacts(String nam, String row)
throws SQLException {
Cursor cursor = db.query(true, DATABASE_TABLE, yek_name, row
+ " LIKE '%" + nam + "%'", null, null, null, null, null);
List<Sms> nams = cursorToList(cursor);
return nams;
}
public List<Sms> findFAVContacts() throws SQLException {
Cursor cursor = db.query(true, DATABASE_TABLE, yek_name, KEY_FAV
+ " == " + 1 + "", null, null, null, null, null);
List<Sms> nams = cursorToList(cursor);
return nams;
}
// ---updates a contact---
public boolean updateContact(Sms up_nam) {
ContentValues args = new ContentValues();
args.put(KEY_ID, up_nam.getId());
args.put(KEY_SMS, up_nam.getSms());
args.put(KEY_SUB, up_nam.getSub());
args.put(KEY_FAV, up_nam.getFav());
args.put(KEY_EXTRA, up_nam.getExtera());
return db.update(DATABASE_TABLE, args, KEY_ID + "=" + up_nam.getId(),
null) > 0;
}
}
بازم ممنون
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.