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

مشکل با آپدیت (خواهشا کمک کنید دیتا بعد از آپدیت شدن با مقدار قبلی باقی میمونه)

underomeda  9 سال پیش  9 سال پیش
0 0

سلام دوستان مشکل این کد  چیه؟ کسی نیست  یعنی سوالش خیلی سخته ما سالی یه بار سوال میکنیم اونمو گیج کننده اس برامون 

 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");

0 0
ممنون مهندس نشد از G.database.exexsql خطا میگیره (9 سال پیش)
پاسخ به سوال 
underomeda  9 سال پیش
0 0

لطفا کسی نیست کمک کنه؟

پاسخ به سوال 
Hajhosseini  9 سال پیش
0 0

 UPDATE info SET name = '"+ name +"',family = '"+ family +"',number = '"+ +"' ... 
0 0
05-25 17 E/AndroidRuntime(9671): android.database.sqlite.SQLiteException: unrecognized token: "'" (code 1): , while compiling: UPDATE contact SET name = 'رضا',family = 'رضایی',number = ' اینم خطای لاگ پاسخ حاج حسینی عزیز (9 سال پیش)
پاسخ به سوال 
underomeda  9 سال پیش
0 0

حل نشد کسی نیست واقعا کمک کنه یا تا به حال انجام داده باشه؟

پاسخ به سوال 
ksarafrazi  9 سال پیش
0 0

باید مقادیری که string هستند توی "" باشند یعنی مثلا:

UPDATE contact SET name =" میلاد",family =" احمدی",number =545 WHERE  id =2
0 0
این لاگ رو میده در هر صورت : 05-25 17 E/AndroidRuntime(22604): android.database.sqlite.SQLiteException: unrecognized token: "'1" (code 1): , while compiling: UPDATE contact SET name = 'رضا',family = 'رضایی',number = '9362997009' where id='1 (9 سال پیش)
پاسخ به سوال 
Master  9 سال پیش
+1 0

 G.database.execSQL("UPDATE contact SET name = '"+ getname +"',family = '"+ getfamily +"',number = '"
+ getnumber +"' WHERE id = '"+ itemid+"'");

تست کن اینو

راهش اینه که کل دستور SQL رو داخل " " قرار می دیدی . حالا اونجاهایی که رشته ای هستن که همینطوری می نویسی اما تا به یک مقدار رسیدی قرارش بده داخل ' " + Value + " '

 

 

0 0
ممنون مستر جان حل شد اما مقدار رو ذخیزه نمیکنه تو دیتا بیس !!! عجیب شده خدایی (9 سال پیش)
0 0
یکی ببین اون id در جدولت null نباشن. بعد هم از اون کدی که من نوشتم قسمت " ' " + رو از آخرش بردار . یعنی اینطوری میشه آخرش WHERE id = '"+ itemid... (9 سال پیش)
0 0
بازم نشد (9 سال پیش)
0 0
شاید چون itemid از نوع عددی هستش و داری داخل یک رشته اونو قرار می دی باید یه جور دیگه بنویسیش اینجا. (9 سال پیش)
0 0
اون تک کوتیشن مربوط به itemid رو بردار. یعنی "+ itemid +" کافیه و دیگه تک کوتیشن ها ' ' را نمی خواد. (9 سال پیش)
پاسخ به سوال 
underomeda  9 سال پیش
0 0

از این همه کاربر واقعا کسی نیست کمک کنه؟


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