رفتن به مطلب
  • 0

مشکل کار با دیتابیس


arang

سوال

سلام

 

امیدوارم اینجا به جوابم برسم خدایی هرکی میدونه جواب بده فقط لنگه اینم

 

من دیتابیس دارم که الان همه کاراش انجام دادم و هیچ مشکلی نداره لیست علاقه مندی و ...البته با آموزش :cheshmak:  تنها مشکل سر انتخاب تیبله

 

دیتابیس برا یه برنامه محتوا محوره ولی کتاب نیست تو بیسیک با آموزشی که هست برا مولتی تیبل راحت انجام شد ولی تو استودیو نتونستم

 

مشکل اینجاست

private static String DB_PATH = "data/data/ir.arang.parenting/databases/";
private static String DB_NAME = "baby";
private static String DB_TABLE_NAME = "tbl";

public String KEY_ID = "id";
public String KEY_TITLE = "name";
public String KEY_TEXT = "text";
public String KEY_FAV = "fav";

تو خط سوم اسم تیبل مشخص شده و همه کارا فقط ب این تیبل انجام میشه

public void getAll(ArrayList<String> id, ArrayList<String> title, ArrayList<String> text, ArrayList<String> fav)
{
String[] column = new String[] {KEY_ID,KEY_TITLE,KEY_TEXT,KEY_FAV};
Cursor c = null;

c=Sqlitedatabase.query(DB_TABLE_NAME, column,null, null, null, null,null);

c.moveToFirst();

while(c.isAfterLast() == false){
id.add(c.getString(c.getColumnIndex(KEY_ID)));
title.add(c.getString(c.getColumnIndex(KEY_TITLE)));
text.add(c.getString(c.getColumnIndex(KEY_TEXT)));
fav.add(c.getString(c.getColumnIndex(KEY_FAV)));
c.moveToNext();
}
}

حالا چطور میشه براش تعریف کنی که اسم تیبل چند تاس یا وقتی رو آیتم کلیک میکنی دستوری باشه اسم تیبل رو بده بهش

 

ممنونم

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال های توصیه شده

سلام

ببینید ، یه اموزش دیتابیس هست توی سایت که استاد شاهدی درست کردن، از اون استفاده کنید که بتونید به هر شکلی خواستید کوئری بدید

این کدی که شما دارید، هموطور که تو خط 3 معلومه، یک string ازتون میگیره به عنوان اسم جدول

حالا شما هر بار که خواستید اسم جدول تغییر کنه، کافیه که یه استرینگ دیگه رو به عنوان اسم جدول بدید به این تابعی که دارید...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

متشکرم

اگه بخوام همه کارا رو بکنم بازم کلی زمان میبره

 

آقا شهاب فقط یه چیزی این استرینگ که عنوان رو به تابع میده کجا باید تعریف بشه پیش اسم دیتابیس اینا؟ یا ....؟

 

درضمن جسارت نباشه به اساتید ولی من قبل از اینکه کد فعلی رو استفاده کنم اون چیزی استاد شاهدی آموزش دادن رو امتحان کرده بودم البته با یه آموزش خارجی اون چیزی که میخواستم رو بهم نمیداد یا بهتره بگم من بلد نبودم باهاش کار کنم

 

و یه چیز دیگه با این آموزشی که استاد شاهدی زحمتشو کشیدن میشه فایل دیتابیس رو زیپ کرد و استفاده کرد که برای دیتابیسهای حجیم خوبه و اگر دوست داشتید که اسم اون پوشه Databases رو عوض کنید از گیت هاب کتابخانه رو بگیرید واضافه کنید به پروژه بعدش میتونید اسم پوشه رو عوض کنید

 

در حالت عادی نمیشه دیتابیس رو داخل پوشه دیگه ای گذاشت :cheshmak: :cheshmak:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

کد 

 



متشکرم

اگه بخوام همه کارا رو بکنم بازم کلی زمان میبره

 

آقا شهاب فقط یه چیزی این استرینگ که عنوان رو به تابع میده کجا باید تعریف بشه پیش اسم دیتابیس اینا؟ یا ....؟

 

درضمن جسارت نباشه به اساتید ولی من قبل از اینکه کد فعلی رو استفاده کنم اون چیزی استاد شاهدی آموزش دادن رو امتحان کرده بودم البته با یه آموزش خارجی اون چیزی که میخواستم رو بهم نمیداد یا بهتره بگم من بلد نبودم باهاش کار کنم

 

و یه چیز دیگه با این آموزشی که استاد شاهدی زحمتشو کشیدن میشه فایل دیتابیس رو زیپ کرد و استفاده کرد که برای دیتابیسهای حجیم خوبه و اگر دوست داشتید که اسم اون پوشه Databases رو عوض کنید از گیت هاب کتابخانه رو بگیرید واضافه کنید به پروژه بعدش میتونید اسم پوشه رو عوض کنید

 

در حالت عادی نمیشه دیتابیس رو داخل پوشه دیگه ای گذاشت :cheshmak: :cheshmak:

فعلیتون در اصل استفاده دقیق از دیتابیس نیست، یه کلاس هست مثل Farakhani یا medoo که کار رو براتون راحت کرده...

c=Sqlitedatabase.query(DB_TABLE_NAME, column,null, null, null, null,null);

توی این خط، باید به جای

DB_TABLE_NAME

اسم جدول خودتون رو بدید

ممکنه که چند بار بخواین از این کد استفاده کنید

به شکل زیر احتمالا میشه...

c=Sqlitedatabase.query("tbl1", column,null, null, null, null,null);

---------

c=Sqlitedatabase.query("tbl2", column,null, null, null, null,null);

 البته من تا حالا با این کلاس کار نکردم اما باید جواب بده...

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در حالت عادی نمیشه دیتابیس رو داخل پوشه دیگه ای گذاشت

 

سلام

اگه اشتباه برداشت نکرده باشم منظورتون رو شما می تونید از SqLiteOpenHelper   ساتفاده کنید و فایل دیتابیس رو هر جا که دوست داشتید قرار بدید و به وسیله کلاس مشتق شده از SqLiteOpenHelper اعمال CURD  رو انجام بدید

توی سایت های زیادی اموزش راجبش هست

بنده توی یکی از پروژه هام ازش استفاده کردم و کدش سفارشی شده بود ولی خب لپ تاپم دیگه در دسترسم نیست تا در اختیارتون قرار بدم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...