من یه برنامه دیکشنری ساختم که 2 تا ادیت تکست داره و ادیت تکست اولی به انگلیسی میگیره و دومی به فارسی ، الان دکمه های اضافه و حذف رو نوشتم اما برای جستجو به مشکل بر خوردم ، مثلا میخوام وقتی توی ادیت تکست دوم کلمه ی سلام نوشته شد و کلید سرچ زده شد ، در ادیت تکست اول سلام به انگلیسی نمایش داده بشه ولی نمیدونم چجوری باید بهش شرط بدم ، لطفاً اگه کسی میدونه منو راهنمایی بکنه ، ممنون.
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
|
||||||||||||||||||
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
در مورد نوشته خودم اطمینان ندارم چون خودم هم یه جایی این مطلب رو خوندم ولی برداشتم رو برات مینویسم
اگه دیتابیس دوتا ستون داشته باشه یکی برای کلمات فارسی و رو به روی او ن معانی انها میتونی روی ستون اول کویری بزنی تا کلمه رو جست و جو کنه و معانی رو برگردونه اسم جدول w ستون fکلمات فارسی ستونeکلمات انگلیسی "select f from w where e="search کلمه سرچ همون کلمه مورد نظره که از کار بر میگیره حاصل دستور بالا معانی که در ستون مقابلش نوشته شده رو بر میگردونه حالا میتونی داخل یه متغیر بریزی و بعد اون رو به هر شکل که خاستی نمایش بدی روش دریافت کلمه از کاربر و نمایش کلمه رو داخل تکس ویو یا ادیت تکس هم که حتما میدونی
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
سلام.
مهم نحوه جستجو در پایگاه داده است. اگر قصد دارید که کلمه به طور دقیق جستجو شود، یعنی بگوییم که مقدار ستون (ستون حاوی کلمات فارسی) دقیقا برابر کلمه ((سلام)) باشد، باید از query (دستور کار با پایگاه داده) زیر برای فراخوانی ردیف متناظر از پایگاه داده SQLite استفاده کنید (کلمات SELECT و WHERE مهم می باشند) : کد پیاچپی: SELECT * FROM table_name WHERE column_name = 'سلام'; اما اگر مقدارها به طور دقیق در ستون ها ذخیره نشده باشد، مثلا بگوییم که ردیف هایی از جدول برگردانده شوند که مقدار ستون مورد نظر، دارای کلمه ((سلام)) باشد (مثلا یک جمله باشد که کلمه سلام در آن قرار دارد)، برای این حالت، موضوع زیر را بخوانید : http://www.kelidestan.com/forum/showthread.php?tid=5075 در ضمن، برای آشنایی بیشتر با query های مختلف، نگاهی به لینک زیر بیندازید : http://www.tutorialspoint.com/sqlite/sql..._query.htm لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید. در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی). کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۴/۰۳/۰۲, ۰۱:۲۴ ب.ظ
سلام. مثالهای شما فقط برای یک سری مقدار ثابت بود ، منظورم من این بود که کاربر هر عبارتی رو که وارد کرد عبارت متناظرش چاپ بشه ، مثلا اگر چندین کلمه ی انگلیسی و معنی اون ها رو وارد کرد ، بعد هر کدوم از کلمه های انگلیسی رو که داخل ادیت تکست وارد کرد معنیش داخل ادیت تکست بعدی نمایش داده بشه ،
نمایش داخل ادیت تکست ها رو بلدم ، فقط شرط مورد نظر رو نمیدونم. select * from tablename where name="hello"; مثلاً این خط فقط یک اسم رو که hello باشه نمایش میده ، چجوری میشه بجای همون عبارت سلام مقداری بنویسم که معادل عبارت وارد شده توسط ادیت تکست باشه؟ و بجای ستاره که همه ی مقادیر رو میگیره بگم فقط مقدار متناظرش رو بگیر. من خیلی از سایت های خارجی رو هم گشتم ولی اونا هم فقط مقدار های ثابت رو نوشتن ، لطفاً اگر تونستین کد رو بنویسید یا یه مثال بزنید ، خیلی ممنون. جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۴/۰۳/۰۴, ۰۶:۲۵ ب.ظ
برای ترجمه یک جمله، شما باید ابتدا کلمات را به صورت تکی در جمله یافته، با همان query ، معنای تک تک آنها را بیابید (به صورت جداگانه) و بعد جمله را به صورت فارسی بسازید (البته رعایت قواعد به این سادگی نیست و قوانین خاص خودش را دارد، یعنی حتی با داشتن معنی تک تک کلمه ها، باز هم ساخت جمله به فارسی خیلی ساده نخواهد بود). برای شناسایی کلمات هم باید توجه داشته باشید که معمولا بین کلمات، علامت هایی مثل فضای خالی (space)، نقطه و ... وجود دارد، پس با خواندن تک تک کاراکترها، باید بر اساس این کاراکترهای خاص، کلمات را شناسایی کرده و بعد معنی آنها را از پایگاه داده بخوانید.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید. در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی). کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۴/۰۳/۰۹, ۰۷:۱۱ ب.ظ
با سلام مجدد ، پس از کلی تلاش به نتیجه رسیدم ،شرط رو باید به شکل زیر نوشت
در این صورت هر مقداری رو که به پایگاه داده اضافه بکنید میتونین جستجو کنید. Cursor c=db.rawQuery("SELECT persian FROM dasteyaboo where english='"+t+"'", null);//code برای ادد کردن به جدول هم که توی سایت مطلب هست. persian اسم فیلدی هست که مقدار فارسی رو بهش وارد میکنید . شرط وقتی هست که مقدار english برابر با t باشه . String t=edittext1.getText().toString();//code
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۲, ۰۹:۵۷ ب.ظ
(۱۳۹۴/۰۳/۰۹, ۰۷:۱۱ ب.ظ)ramin1323 نوشته: با سلام مجدد ، پس از کلی تلاش به نتیجه رسیدم ،شرط رو باید به شکل زیر نوشت سلام .. من بر اساس همین کدی که اینجا شما نوشتین تو برنامم استفاده کردم کد: Cursor searchrows = db.rawQuery("SELECT * FROM " + FeedEntry.Table_Name + کد: SqliteDatabaseCpp(360): sqlite returned: error code = 1, msg = near "=": syntax error, db=/data/data/zahra.management.project/databases/My_Database.db اشکال کارم کجاست ؟؟ ممکنه بخاطر اجرا روی شبیه ساز ایکلیپس باشه ؟؟ جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۳, ۰۹:۵۵ ق.ظ
سلام منم از همین کد استفاده کردم و درست بود!!!!
______________________________________________________________________________ راه اندازی فروشگاه اینترنتی با سئوی فوق العاده جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۳, ۱۱:۲۴ ق.ظ
(۱۳۹۵/۰۱/۲۲, ۰۹:۵۷ ب.ظ)yasiiii نوشته:(۱۳۹۴/۰۳/۰۹, ۰۷:۱۱ ب.ظ)ramin1323 نوشته: با سلام مجدد ، پس از کلی تلاش به نتیجه رسیدم ،شرط رو باید به شکل زیر نوشت دستور نوشته شده از لحاظ نوشتاری مشکل داره. باید یک فاصله قبل از کلمه WHERE اضافه کنید. ( برای اینکه نام ستون جدول شما به کلمه WHERE چسبیده میشه و خطا میده کد پیاچپی: Cursor searchrows = db.rawQuery("SELECT * FROM " + FeedEntry.Table_Name + جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)(۱۳۹۵/۰۱/۲۳, ۰۹:۵۵ ق.ظ)salmani نوشته: سلام منم از همین کد استفاده کردم و درست بود!!!!سلام .. بله مشکلم حل شد ... ظاهرا بخاطر یکی دوتا فاصله بین کلمات syntax ارور میگرفت .. فاصله های اضافی رو برداشتم حل شد !! جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۴, ۱۰:۳۱ ق.ظ
(۱۳۹۵/۰۱/۲۳, ۱۱:۲۴ ق.ظ)mahdi10539 نوشته:بله خودمم بعدش متوجه شدم !!! گاهی اوقات این اشکالات کوچیک اصلا به چشم نمیاد و وقت آدمو حسابی میگیره !!(۱۳۹۵/۰۱/۲۲, ۰۹:۵۷ ب.ظ)yasiiii نوشته:(۱۳۹۴/۰۳/۰۹, ۰۷:۱۱ ب.ظ)ramin1323 نوشته: با سلام مجدد ، پس از کلی تلاش به نتیجه رسیدم ،شرط رو باید به شکل زیر نوشت
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)(۱۳۹۵/۰۱/۲۴, ۱۰:۳۱ ق.ظ)yasiiii نوشته:با سلام خدمت دوستان عزیز .. با تشکر از این بحث مفید .. من یسوال دیگه این بار در مورد دستور backup در sql داشتم .. من از این قالب برای دستور بکاپ استفاده میکنم :(۱۳۹۵/۰۱/۲۳, ۱۱:۲۴ ق.ظ)mahdi10539 نوشته:بله خودمم بعدش متوجه شدم !!! گاهی اوقات این اشکالات کوچیک اصلا به چشم نمیاد و وقت آدمو حسابی میگیره !!(۱۳۹۵/۰۱/۲۲, ۰۹:۵۷ ب.ظ)yasiiii نوشته:(۱۳۹۴/۰۳/۰۹, ۰۷:۱۱ ب.ظ)ramin1323 نوشته: با سلام مجدد ، پس از کلی تلاش به نتیجه رسیدم ،شرط رو باید به شکل زیر نوشت کد: cdb.execSQL("BACKUP DATABASE " + FeedEntryCoast.Database_Name + " TO DISK='F:/management" +get_backupname+".bak'"); کد: sqlite returned: error code = 1, msg = near "BACKUP": syntax error, db=/data/data/zahra.management.project/databases/Coast_Database.db جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۸, ۰۲:۳۹ ق.ظ
بله خودمم بعدش متوجه شدم !!! گاهی اوقات این اشکالات کوچیک اصلا به چشم نمیاد و وقت آدمو حسابی میگیره !!
بله دقیقا. برای جلوگیری از اینجور اشتباهات احتمالی بهتره که از querybuilder درونی خود sqlite یا هنوز بهتر از اون از ORM ها استفاده کنید تا مدیریت بهتری بر روی پایگاه داده داشته باشید. جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۸, ۰۲:۵۸ ق.ظ
[quote pid='17266' dateline='1460717065']
[quote pid='17216' dateline='1460440873'] [quote pid='17199' dateline='1460357673'] سلام خدمت دوستان عزیز .. با تشکر از این بحث مفید .. من یسوال دیگه این بار در مورد دستور backup در sql داشتم .. من از این قالب برای دستور بکاپ استفاده میکنم : [/quote] [/quote] کد: cdb.execSQL("BACKUP DATABASE " + FeedEntryCoast.Database_Name + " TO DISK='F:/management" +get_backupname+".bak'"); کد: sqlite returned: error code = 1, msg = near "BACKUP": syntax error, db=/data/data/zahra.management.project/databases/Coast_Database.db [/quote] برای گرفتن Backup باید از دو کلاس پیشنهادی گوگل استفاده کنید BackupagentHelper ّFileBackupHelper کد پیاچپی: A cleaner approach would be to create a custom BackupHelper: کد پیاچپی: class MyBackupAgent extends BackupAgentHelper{ جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
با سلام.
من در جستجو به مورد عجیبی برخورد کردم. جستجو در دیتابیسم به خوبی کار میکنه فقط در بیشتر موارد عبارراتی که دارای حرف "ک" باشند را پیدا نمیکنه! البته برخی از عبارات حاوی حرف ک را پیدا میکنه اما تعداد زیادی را خیر.. ( بنابراین مطمئنم مشکل از کد نیست وگرنه هیچ کدام را نباید پیدا میکرد). تنها در مورد این حرف فارسی مشکل داره. اینکه ابتدا وسط یا انتهای عبارت باشه فرقی نداره. آیا کسی با این مشکل مواجه شده و یا چیزی به نظرش میرسه برای راهنمایی ؟ تشکر جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)
۱۳۹۵/۰۱/۲۸, ۱۲:۱۲ ب.ظ
(۱۳۹۵/۰۱/۲۸, ۱۱:۱۸ ق.ظ)msh نوشته: با سلام. حل شد. به خاطر استفاده از کاراکتر عربی بجای فارسی در بعضی متون بود.
جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)(۱۳۹۵/۰۱/۲۸, ۰۲:۵۸ ق.ظ)mahdi10539 نوشته: [quote pid='17266' dateline='1460717065'] [/quote] کد: cdb.execSQL("BACKUP DATABASE " + FeedEntryCoast.Database_Name + " TO DISK='F:/management" +get_backupname+".bak'"); کد: sqlite returned: error code = 1, msg = near "BACKUP": syntax error, db=/data/data/zahra.management.project/databases/Coast_Database.db [/quote] برای گرفتن Backup باید از دو کلاس پیشنهادی گوگل استفاده کنید BackupagentHelper ّFileBackupHelper کد پیاچپی: A cleaner approach would be to create a custom BackupHelper: کد پیاچپی: class MyBackupAgent extends BackupAgentHelper{ [/quote] ممنون از پاسختون ... .. اما برای استفاده از این دو کلاس ، نیاز به ایجاد اکتیویتی جدید براشون دارم ؟ یا تو همون اکتیویتی اصلی که دارم بکاپ رو پیاده سازی میکنم باید از این ها استفاده کنم ؟؟ اصلا باید از هر دوشون استفاده کنم ؟ جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید)جستجو در پایگاه داده SQLite (در برنامه نویسی اندروید) | ||||||||||||||||||
کاربران در حال بازدید این موضوع: 1 مهمان