نمایش نتایج 1 تا 9 از 9

نام تاپیک: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل '' , '

  1. #1
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    849

    Arrow نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل '' , '

    سلام
    وقت همگی بخیر

    دوستان چطور میتونیم داخل یک اکتیویتی یک کوئری بنویسیم اونو به عنوان یه string ذخیره کنیم . اکتیویتی که مینویسیم داخلش یه سری متغییر هستش و من توی گذاشتن " ' مشکل دارم و هرکاری میکنم نه تو این مورد بلکه کلا منطق و روال کار را نمیدونم.
    بزارید یه مثال بزنم چون نمیدونم متوجه منظورم شدید یا نه
    مثلا من از select میخوام بزنم که اسم جدول یه متغییر هستش و در بخش where clause هم یه متغییر دارم.

    ممنون از کمک و راهنمایی همگی



    ارادتمند

  2. #2
    کاربر دائمی آواتار farhad_shiri_ex
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    37
    پست
    970

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    نقل قول نوشته شده توسط mehrdad85 مشاهده تاپیک
    سلام
    وقت همگی بخیر

    دوستان چطور میتونیم داخل یک اکتیویتی یک کوئری بنویسیم اونو به عنوان یه string ذخیره کنیم . اکتیویتی که مینویسیم داخلش یه سری متغییر هستش و من توی گذاشتن " ' مشکل دارم و هرکاری میکنم نه تو این مورد بلکه کلا منطق و روال کار را نمیدونم.
    بزارید یه مثال بزنم چون نمیدونم متوجه منظورم شدید یا نه
    مثلا من از select میخوام بزنم که اسم جدول یه متغییر هستش و در بخش where clause هم یه متغییر دارم.

    ممنون از کمک و راهنمایی همگی



    ارادتمند
    در تابع query که در کلاس SqliteDataBase خود اندروید دراین تابع یکی از پارامتر ها به نام selection که به صورت string هست جهت درج شرط کوئری کاربرد دارد ویک پارامتر هم به نام selectionArgs که به صورت یک آرایه sting هست می توانید مقادیر لازم برای شرطها که در زمان اجرا معتبر هستند را به کوئری پای بدید به همین راحتی ...


    String tblName = "yourTable";
    String[] columns = new String(){"name","id"};
    String selection = "name = ? and id = ?";
    String[] selectargs = new String(){"ali","1"};

    SQLiteDataBase.query(false , tblName , columns , selection ,selectargs ,null , null , null , null , null);

  3. #3
    کاربر دائمی آواتار farhad_shiri_ex
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    37
    پست
    970

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    نقل قول نوشته شده توسط mehrdad85 مشاهده تاپیک
    سلام
    وقت همگی بخیر

    دوستان چطور میتونیم داخل یک اکتیویتی یک کوئری بنویسیم اونو به عنوان یه string ذخیره کنیم . اکتیویتی که مینویسیم داخلش یه سری متغییر هستش و من توی گذاشتن " ' مشکل دارم و هرکاری میکنم نه تو این مورد بلکه کلا منطق و روال کار را نمیدونم.
    بزارید یه مثال بزنم چون نمیدونم متوجه منظورم شدید یا نه
    مثلا من از select میخوام بزنم که اسم جدول یه متغییر هستش و در بخش where clause هم یه متغییر دارم.

    ممنون از کمک و راهنمایی همگی



    ارادتمند
    در تابع query که در کلاس SqliteDataBase خود اندروید دراین تابع یکی از پارامتر ها به نام selection که به صورت string هست جهت درج شرط کوئری کاربرد دارد ویک پارامتر هم به نام selectionArgs که به صورت یک آرایه sting هست می توانید مقادیر لازم برای شرطها که در زمان اجرا معتبر هستند را به کوئری پاس بدید به همین راحتی ...


    String tblName = "yourTable";
    String[] columns = new String(){"name","id"};
    String selection = "name = ? and id = ?";
    String[] selectargs = new String(){"ali","1"};

    SQLiteDataBase.query(false , tblName , columns , selection ,selectargs ,null , null , null , null , null);

  4. #4
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    849

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    سلام دوست عزیز.
    ممنونم از راهنماییت و وقتی که برای پاسخگویی گذاشتی.
    اگه بخوام اونو به صورت string صرف و بدون بکارگیری پارامترها استفاده کنم باید چکار کنم؟میخوام منطق گذاشتن '' '' , ' ' را بدونم.


    بازهم سپاسگزارم
    ممنون از همه دوستان که بدون چشمداشت کمک میکنن و کار بقیه را راه میندازن

  5. #5
    کاربر دائمی آواتار farhad_shiri_ex
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    37
    پست
    970

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    نقل قول نوشته شده توسط mehrdad85 مشاهده تاپیک
    سلام دوست عزیز.
    ممنونم از راهنماییت و وقتی که برای پاسخگویی گذاشتی.
    اگه بخوام اونو به صورت string صرف و بدون بکارگیری پارامترها استفاده کنم باید چکار کنم؟میخوام منطق گذاشتن '' '' , ' ' را بدونم.


    بازهم سپاسگزارم
    ممنون از همه دوستان که بدون چشمداشت کمک میکنن و کار بقیه را راه میندازن
    دوست عزیز همانطور که شما در پست اول گفتید برای اضافه کردن مقادیر داینامیک در زمان اجرا یا باید از توابع query ویا rawQuery استفاده کنید.
    حالا منظور تون از منطق "" و '' چی ؟
    روش استفاده از rawQuery

    String query = "select name , id from table where name = ? and id = ? ";
    String[] selectargs = new String(){"ali","1"};
    SQLiteDataBase.rawQuery(query ,selectargs);

  6. #6
    کاربر دائمی آواتار farhad_shiri_ex
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    37
    پست
    970

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    نقل قول نوشته شده توسط mehrdad85 مشاهده تاپیک
    سلام دوست عزیز.
    ممنونم از راهنماییت و وقتی که برای پاسخگویی گذاشتی.
    اگه بخوام اونو به صورت string صرف و بدون بکارگیری پارامترها استفاده کنم باید چکار کنم؟میخوام منطق گذاشتن '' '' , ' ' را بدونم.


    بازهم سپاسگزارم
    ممنون از همه دوستان که بدون چشمداشت کمک میکنن و کار بقیه را راه میندازن
    دوست عزیز همانطور که شما در پست اول گفتید برای اضافه کردن مقادیر داینامیک در زمان اجرا یا باید از توابع query ویا rawQuery استفاده کنید.
    حالا منظور تون از منطق "" و '' چی ؟
    روش استفاده از rawQuery

    String query = "select name , id from table where name = ? and id = ? ";
    String[] selectargs = new String(){"ali","1"};
    SQLiteDataBase.rawQuery(query ,selectargs);

    البته می توانید اینطوری هم استفاده کنید ولی قطعا خوب نیست!

    String name = "ali" , id = "1";
    String query = "select name , id from table where name = "+name+" and id = " + id ;
    SQLiteDataBase.rawQuery(query ,null);

  7. #7
    کاربر دائمی
    تاریخ عضویت
    آذر 1389
    محل زندگی
    تهران
    پست
    849

    Arrow نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    دوست عزیز همانطور که شما در پست اول گفتید برای اضافه کردن مقادیر داینامیک در زمان اجرا یا باید از توابع query ویا rawQuery استفاده کنید.
    حالا منظور تون از منطق "" و '' چی ؟
    روش استفاده از rawQuery

    String query = "select name , id from table where name = ? and id = ? ";
    String[] selectargs = new String(){"ali","1"};
    SQLiteDataBase.rawQuery(query ,selectargs);

    البته می توانید اینطوری هم استفاده کنید ولی قطعا خوب نیست!

    String name = "ali" , id = "1";
    String query = "select name , id from table where name = "+name+" and id = " + id ;
    SQLiteDataBase.rawQuery(query ,null);


    سلام
    ممنونم از راهنمایی و پاسخت دوست عزیز.بسیار درست و منطقی
    اما اگر من به فرم دوم بنویسم کوئری را با خطلایی با این مضمون مواجه میشم.کسی علت را میدونه؟
    android.database.sqlite.SQLiteException : no such column "while compiling " select....
    در حالیکه اصلا من همچین ستونی تعریف نکردم و اون فقط یه پارامتر هستش و همین.پ
    بزارید یه مثال بزنم

    یه جدول که ستون های name, family,age دارم
    حالا یه کوئری به این شکل مینویسم
    "String s="SELECT age,family FROM person WHERE name="ali
    حلاا اروری که میده
    no such column: ali( code 1) : , while compiling SELECT age,family FROM person WHERE name= ali

    پیشاپیش از همه دوستان ممنونم



    مرسی

  8. #8
    کاربر دائمی آواتار farhad_shiri_ex
    تاریخ عضویت
    اردیبهشت 1384
    محل زندگی
    تهران
    سن
    37
    پست
    970

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    نقل قول نوشته شده توسط mehrdad85 مشاهده تاپیک
    سلام
    ممنونم از راهنمایی و پاسخت دوست عزیز.بسیار درست و منطقی
    اما اگر من به فرم دوم بنویسم کوئری را با خطلایی با این مضمون مواجه میشم.کسی علت را میدونه؟
    android.database.sqlite.SQLiteException : no such column "while compiling " select....
    در حالیکه اصلا من همچین ستونی تعریف نکردم و اون فقط یه پارامتر هستش و همین.پ
    بزارید یه مثال بزنم

    یه جدول که ستون های name, family,age دارم
    حالا یه کوئری به این شکل مینویسم
    "String s="SELECT age,family FROM person WHERE name="ali
    حلاا اروری که میده
    no such column: ali( code 1) : , while compiling SELECT age,family FROM person WHERE name= ali

    پیشاپیش از همه دوستان ممنونم



    مرسی
    لطفا اون بخش از سورس کد که همین کوئری نوشتید اینجا قرار بدید در تگ های مناسب هم کدتون قرار بدید!

  9. #9
    کاربر دائمی آواتار Nevercom
    تاریخ عضویت
    دی 1387
    محل زندگی
    بستک
    سن
    30
    پست
    1,097

    نقل قول: نوشتن کوئری همراه با یه سری متغییر داخل یک اکتیویتی و ذخیره اون به عنوان یک string.مشکل ''

    اول اینکه اگه لازمه از rawQuery استفاده کنید، بهتر هست از روش اولی که دوستمون اشاره کردن (که از علامت ? استفاده شده توش) استفاده کنید.

    ولی در نوشتن SQL حواستون باشه که String رو بین Quotation Mark ( ' ) قرار بدید و البته کاراکتر ( ` ) معنای خاصی داره، وقتی چیزی رو بین این کاراکتر قرار می‌دید معنی این هست که یک فیلد یا Table هست.

    خطایی که دریافت می‌کنید اشاره می‌کنه که فیلدی تحت نام ali وجود نداره، که یا این رشته رو بین ' قرار ندادید، و یا به اشتباه بین کاراکتر ` قرار داده شده.

تاپیک های مشابه

  1. تغییر Background کل صفحه در اکتیویتی
    نوشته شده توسط asghar2008 در بخش برنامه نویسی Android
    پاسخ: 5
    آخرین پست: سه شنبه 27 بهمن 1394, 20:48 عصر
  2. لود شدن دوباره اکتیویتی موقع تغییر حالت گوشی
    نوشته شده توسط jd.mn98 در بخش برنامه نویسی Android
    پاسخ: 2
    آخرین پست: جمعه 11 مهر 1393, 12:05 عصر
  3. چرا در تغییر orentation اکتیویتی فعلی ریست میشود؟
    نوشته شده توسط [younes] در بخش برنامه نویسی Android
    پاسخ: 1
    آخرین پست: یک شنبه 30 شهریور 1393, 18:27 عصر
  4. تغییر اندازه دلخواه شی در اکتیویتی
    نوشته شده توسط leadstar71 در بخش برنامه نویسی Android
    پاسخ: 1
    آخرین پست: پنج شنبه 18 اردیبهشت 1393, 13:37 عصر
  5. آیا محتوای اکتیویتی ورژن جدید تغییر کرده است؟
    نوشته شده توسط kavous_kiani در بخش برنامه نویسی Android
    پاسخ: 2
    آخرین پست: چهارشنبه 27 فروردین 1393, 23:34 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •