بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
مشکل با آپدیت (خواهشا کمک کنید دیتا بعد از آپدیت شدن با مقدار قبلی باقی میمونه)
سلام دوستان مشکل این کد چیه؟ کسی نیست یعنی سوالش خیلی سخته ما سالی یه بار سوال میکنیم اونمو گیج کننده اس برامون
private TextView txtname; private TextView txtfamily; private TextView txtnumber; private EditText edtname; private EditText edtfamily; private EditText edtnumber; private Button btnupdate; private int itemid; private String name; private String family; private String number; private String getname; private String getfamily; private String getnumber; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.update); txtname = (TextView) findViewById(R.id.txt_name); txtfamily = (TextView) findViewById(R.id.txt_family); txtnumber = (TextView) findViewById(R.id.txt_number); edtname = (EditText) findViewById(R.id.edtname); edtfamily = (EditText) findViewById(R.id.edtfamily); edtnumber = (EditText) findViewById(R.id.edtnumber); btnupdate = (Button) findViewById(R.id.btnupdate); Bundle extras = getIntent().getExtras(); if (extras != null) { itemid = extras.getInt("ID"); name = extras.getString("name"); family = extras.getString("family"); number = extras.getString("number"); edtname.setText(name); edtfamily.setText(family); edtnumber.setText(number); } getname = edtname.getText().toString(); getfamily = edtfamily.getText().toString(); getnumber = edtnumber.getText().toString(); btnupdate.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { G.database.execSQL("UPDATE contact SET name = " + getname + ",family = " + getfamily + ",number = "
+ getnumber + " WHERE id = " + itemid); Toast.makeText(G.context, "مخاطب با موفقیت ویرایش شد.", Toast.LENGTH_SHORT).show(); finish(); } }); } @Override protected void onResume() { G.CurrentActivity = this; super.onResume(); }
اینم خطای لاگ :
05-25 16:18:16.524: E/AndroidRuntime(16190): android.database.sqlite.SQLiteException:
no such column: میلاد (code 1): , while compiling: UPDATE contact SET name = میلاد,family = احمدی,number = 545 WHERE id = 2
0
0

اینجوری که نمیشه جواب داد!! خطای log رو بزار (9 سال پیش)
0
0

مقادیری که میفرستی رو داخل single کوتیشن بزار به این شکل: 'میلاد' ...... در واقع اونجایی که کوئری رو نوشتی مشکل داره و باید با گذاشتن کوتیشن اصلاحش کنی (9 سال پیش)
برای این سوال 7 پاسخ وجود دارد.

پاسخ به سوال
یزدانی
9 سال پیش
0
0
سلام مهندس من آپدیت دیتابیس رو اینجوری می نویسم تست کن شاید مشکلت حل شد !
G.database.execSQL("UPDATE info SET name = " + name + ",family = " + family + ",number = " + number + ",email = " + email + " WHERE id = 1");

پاسخ به سوال
Hajhosseini
9 سال پیش
0
0
UPDATE info SET name = '"+ name +"',family = '"+ family +"',number = '"+ +"' ...

پاسخ به سوال
ksarafrazi
9 سال پیش
0
0
باید مقادیری که string هستند توی "" باشند یعنی مثلا:
UPDATE contact SET name =" میلاد",family =" احمدی",number =545 WHERE id =2

پاسخ به سوال
Master
9 سال پیش
+1
0
G.database.execSQL("UPDATE contact SET name = '"+ getname +"',family = '"+ getfamily +"',number = '"
+ getnumber +"' WHERE id = '"+ itemid+"'");
تست کن اینو
راهش اینه که کل دستور SQL رو داخل " " قرار می دیدی . حالا اونجاهایی که رشته ای هستن که همینطوری می نویسی اما تا به یک مقدار رسیدی قرارش بده داخل ' " + Value + " '
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .