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

چند فیلد متنی در یک فیلد

iSheykhi  12 سال پیش  12 سال پیش
0 0

سلام به دوستان گلم..

به دلیل اینکه Sqlite بیش از 20 فیلد نمیپذیره، قصد دارم چند فیلد متنی را در یک فیلد با چند کارکتر جدا کننده قرار بدم و در نهایت با یک متد آنها را از همدیگر جدا کنم. مشابه کاری که JSON انجام میده. برای کد کردن مشکلی ندارم، اما برای شیوه دکد کردنش موندم چطوری متدش را بنویسم!؟

برای مثال:

 String Name = "Amin", Family = "Sheykhi";
        String Code = "{" + Name + "}{" + Family + "}"; 


0 0
فیلد هاتو به دو دسته تقسیم کن. پرکاربرد یعنی حتما تو تموم کوئری ها لازمه - کم کاربردترها. با یه کلید مشترک تو 2 تا جدول ذخیره کن. پرفرمنس بالاتری هم داره - سربار محاسبه هم نداره (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
Spirit  12 سال پیش
+1 0

بیا یه کار سادتر انجام بده :

تمام مقادیر مورد نظرت (اسم ، فامیل و ... ) رو کنار هم بنویس منتها بینشون یه کاراکتر خاص بزار ، بعد با متد Split تبدیلش کن به یه آرایه ، حالا یجایی با کامنت مشخص کن که مثلا index پنجم مربوط به تلفن هستش و ازش استفاده کن.

String name = "amin";
String family = "sheykhi";
int age = 87 ; // :D
int phone = 0935

String infoForSave = name + "#" + family + "#" + age + "#" + phone; // save this in database

// get saved string form database

String savedInfo = myCursor.getString(0); // 0 is index of saved info's field

String[] info = savedInfo.split("#"); // make an array from saved string

String name = info[0] // get name
...
0 0
میشه نمونه کدش را که با آندروید سازگاره در اختیارم بزاری؟ ممنون میشم.. (12 سال پیش)
0 0
ویرایش شد :) (12 سال پیش)
0 0
این پیره مرد 87 ساله از شما ممنون است :D ... (12 سال پیش)
0 0
این روش متاسفانه با اصل نرمال سازی دیتابیس مشکل داره. یعنی ذخیره بیشتر از یک مورد توی یک فیلد!!! بهتزه از روشی که آقای محمد حسین زاده گفتند استفاده کنید. سعی کنید اصولی کار کنید تا بعدا به مشکل نخورید! (12 سال پیش)
0 0
من توبه میکنم از جوابم :) (12 سال پیش)

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