PDA

View Full Version : این کد درسته برای حذف یک رکورد ؟؟؟



capitan_nemesis
دوشنبه 07 آبان 1397, 16:06 عصر
با سلام
من این کد پایگاه نوشتم ولی کار نمیکنه
میخوام هر وقت روی یکی از لیست ها کلیک کردم پاک کنه ولی نمیشه
db.execSQL("delete from bank where id = id");

ممنون میشم راهنمایی کنید

capitan_nemesis
دوشنبه 07 آبان 1397, 16:43 عصر
http://uupload.ir/files/9hz_delete_list_thumb.png (http://uupload.ir/view/9hz_delete_list.png)

hisalam
دوشنبه 07 آبان 1397, 16:45 عصر
سلام
کدهای پروژه رو کامل بزار ...
اینجا الان میگه از جدول bank جایی ک id برابر id هست رو حذف کن...
کدت رو به این صورت احتمالا باید اصلاح :

db.execSQL("delete from bank where id='"+id+"'");

capitan_nemesis
دوشنبه 07 آبان 1397, 17:30 عصر
http://uupload.ir/files/7v7g_delete_list.png (http://uupload.ir/)

این کد جدیده همه لکورد رو حذف میکنه من نمیخوام همه حذف بشه رو اونی که کلیک کردم

hisalam
دوشنبه 07 آبان 1397, 19:33 عصر
https://developer.android.com/reference/android/widget/AdapterView.OnItemClickListener






onItemClick
public abstract void onItemClick (AdapterView<?> parent,
View view,
int position,
long id)
Callback method to be invoked when an item in this AdapterView has been clicked.


Implementers can call getItemAtPosition(position) if they need to access the data associated with the selected item.



کد زیر رو اضافه کن :


String val = (String)parent.getItemAtPosition(position);


حالا کوئری رو بر اساس این val بنویس...
---------------------
البته من نمیدونم الان چی رو میخوای پاک کنی ساختار جدولت چیه اون bank_name از کجا اومد اون id چی بود پس...

hisalam
دوشنبه 07 آبان 1397, 22:13 عصر
ساختار جدولت اینجا مهمه اونو باید بزاری...
position شماره سطر لیست رو میده و با دستور بالا درواقع مقدار اون view کلیک شده رو در val ذخیره میکنی...سورس رو کاملتر بزاری بهتر میشه کمک کررد...بعد میره میگرده سطری با اون مقدار رو حذف میکنه...

بسته به برنامه ات با فرض اینکه هر سطری از لیست ویو شامل یه textview باشه که نام بانک رو تو اون نمایش بدی در این صورت میتونی به روش زیر هم عمل کنی :

TextView tv = (TextView)view.findViewById(R.id.tv);
String val = tv.getText().toString();


در کل باید سورس رو بزاری ...

capitan_nemesis
سه شنبه 08 آبان 1397, 17:21 عصر
این یه listview هستش
یه سری مقدار رو روی میگیره در اکتیویتی دیگه
هیچی روی لیست نشون میده
حالا میخوای روی هر کدوم کلیک کرد همونو حذف کنه
نه همه رو id هم توی پایگاه داده هستش

capitan_nemesis
دوشنبه 14 آبان 1397, 15:16 عصر
http://s8.picofile.com/file/8341879626/BankListActivity.java.html

ممنون میشم
به کدم یه نگاه بندازین ببینید کدی که به لایه روی listview درست هستش یا خیر
چون هر چی ذخیره کردم رو پاک میکنه نه فقط یه لایه رو