PDA

View Full Version : استخراج و هماهنگی بین اطلاعات بدون دیتابیس



mehrdad1991h
شنبه 12 مرداد 1392, 18:02 عصر
سلام
یه سری اطلاعات دارم به این صورت
Type:ID:Name:Number:1:1:1:0

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

مثلا یه سری تکست باکس یا لیبل داشته باشیم وقتی از کمبوباکس نام انتخاب شد مقدار تکست باکس ها و لیبل ها با مقادیر دیگه اش (ای دی - شماره و نوع و....) پر بشه
چجوری کار کنم
کمکم کنید لطفا

aliagamon
شنبه 12 مرداد 1392, 18:15 عصر
دقیقا منضورتونو نفهمیدم ولی کلیت کار اشتباهه شما میتونید این کارو بکنین اما واقعا دیوانگیه خیلی دروسر داره و نه امنیت داره نه چیزی که مفید باشه تازه سرعتشم فرقی نداره شاید تو بعضی حالات کمترم بشه....
ولی میتونی همه اطلاعات مربوط به یک ای دی رو در یک خط بنویسی (تو یه فایل تکست) اینطوری:
MAN:1:jafar:424:1:1:1:0
WOMAN:2:kokab:672:2:1:0:2
.
.
.
و بعد این هارو خط به خط فرخوانی کنی و چک کنی هرجا اسم برار اونی شد که تو کومبو هست بقیه اطلاعات رو نشون بده.....
اما دردو سرش زیاده دلیل استفاده نکردن شما از دیتابیس چیه؟

mehrdad1991h
شنبه 12 مرداد 1392, 18:20 عصر
دقیقا منضورتونو نفهمیدم ولی کلیت کار اشتباهه شما میتونید این کارو بکنین اما واقعا دیوانگیه خیلی دروسر داره و نه امنیت داره نه چیزی که مفید باشه تازه سرعتشم فرقی نداره شاید تو بعضی حالات کمترم بشه....
ولی میتونی همه اطلاعات مربوط به یک ای دی رو در یک خط بنویسی (تو یه فایل تکست) اینطوری:
MAN:1:jafar:424:1:1:1:0
WOMAN:2:kokab:672:2:1:0:2
.
.
.
و بعد این هارو خط به خط فرخوانی کنی و چک کنی هرجا اسم برار اونی شد که تو کومبو هست بقیه اطلاعات رو نشون بده.....
اما دردو سرش زیاده دلیل استفاده نکردن شما از دیتابیس چیه؟

یک بشر دیوانه ای اومده اینجوری برنامه را نوشته تو فایل متنی و اطلاعات را جمع اوری کرده تموم شده رفته
حالا شخصی که برنامه را نیاز داشته اومده پیش من میگه میخوام فلان کار را هم بهش اضافه کنم و دقیقا میخواد از همون فایل ها اطلاعات خونده بشه.....
و الان من بدبخت توش موندم چجوری بخونمشون این اطلاعات را
حالا تازه باتوجه به ای دی باید بره از یه فایل دیگه ادرس طرف را در بیاره :عصبانی++:
واقعا هنگ میکنه ادم :((

aliagamon
شنبه 12 مرداد 1392, 18:26 عصر
سورس برنامه رو هم داری؟
اگه داشته باشی صد در صد اومده یه تابع نوشته(یا کلاس) که میتونه یکی از اطلاعات رو بگیره برار قرار بده و بقیه رو خروجی بده...
وگرنه باید خودت چیزی بنوویسی که لیستو بگیره و دونه دونه چک کنه و بقیه رو خروجی بده(منضور از خروجی اینه که تو تکست باکس ها یا لیبل ها نشون بده)
کمک خواستی بپرس

مهرداد صفا
شنبه 12 مرداد 1392, 18:57 عصر
با سلام.
به نظر من اگر حجم اطلاعات زیاد نیستند همه اطلاعات را لود کنید.
برای نگهداری اطلاعات می توانید در ساده ترین حالت از یک آرایه دو بعدی استفاده کنید و یا در یک حلقه اطلاعات را در یک DataTable لود کنید.
حتی می توانید یک کلاس با خصوصیاتی متناظر با داده ها و یا یک Anonymous object داشته باشید و اطلاعات را در یک IEnumerable از کلاسی که نوشتید نگهدارید و با یک Linq و به سادگی به رکورد مورد نظر دسترسی داشته باشید.

مهرداد صفا
شنبه 12 مرداد 1392, 19:13 عصر
سلام
یه سری اطلاعات دارم به این صورت
Type:ID:Name:Number:1:1:1:0

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

مثلا یه سری تکست باکس یا لیبل داشته باشیم وقتی از کمبوباکس نام انتخاب شد مقدار تکست باکس ها و لیبل ها با مقادیر دیگه اش (ای دی - شماره و نوع و....) پر بشه
چجوری کار کنم
کمکم کنید لطفا

دقیقا کجای کار مشکل دارید.
اگر حجم داده زیاد نیستند و میتوانید همه را یک جا بخوانید به نظر من برای افزایش سرعت دسترسی از یک Dictionary استفاده کنید. به این صورت که Name را به عنوان key و سایر مقادیر را به عنوان value به Dictionary بدهید. در این حالت تقریبا با سرعت خوبی به داده ها دسترسی دارید.

mehrdad1991h
شنبه 12 مرداد 1392, 19:59 عصر
دقیقا کجای کار مشکل دارید.
اگر حجم داده زیاد نیستند و میتوانید همه را یک جا بخوانید به نظر من برای افزایش سرعت دسترسی از یک Dictionary استفاده کنید. به این صورت که Name را به عنوان key و سایر مقادیر را به عنوان value به Dictionary بدهید. در این حالت تقریبا با سرعت خوبی به داده ها دسترسی دارید.

در لود کردن اطلاعات مشکلی ندارم
حتی تونستم دسته بندیشون هم بکنم (در ارایه)
مشکل سر اینه که من بیام با حلقه دوباره همه اینا را چک کنم ببینم چی ماله کی بوده
مشکل اینه که نمیتونم بعدم بفهمم کودوم مشخصات ماله کودوم قسمت بوده نمیتونم حلقه ها را جوری بنویسم که دقیقا همه ی مشخصات را بجورم و بگیرمشون

الان وقتی بخواهم از Dictionary استفاده کنم باتوجه به صحبت شما باید چجوری این کار را بکنم ؟
name را کلید در نظر میگیرم حالا از بین مقادیر باقی مونده کودوم را برای مقدارش در نظر بگیرم ؟

Type
ID
number
.......
از کلید مشابه هم که نمیشه استفاده کرد که بشه همه مقادیر را ذخیره کرد که یه مقدار هم به یک کلید بیشتر نمیشه داد ظاهرا...
یا شاید متوجه منظورتون نشدم درست
در Dictionary میشه بیش از 1 value داشت ؟
مقادیر داده ها یه 700 تا بیشتر نیست مقادیرشون کمه
میشه یک مثال برای این روشی که گفتید بزنید تا متوجه بشم
ممنونتون میشم
سپاس

aliagamon
شنبه 12 مرداد 1392, 20:05 عصر
ببین اگه از ارایه دو بعدی استفاده کنی راحت تری مثلا:


string str[10][10];
str[0][0]=type1;
str[0][1]=id1;
str[0][2]=name1;

اینطوری اگه ببینی که


str[0][2]=="mamad";

در نتیجه میفهمی که مقادیر:


str[0][0]=type1;
str[0][1]=id1;

ماله این طرفه اگه مشکلی بود بگو....
اگه تعداد زیاد نباشه همین جواب میده

mehrdad1991h
شنبه 12 مرداد 1392, 20:46 عصر
فکر میکنم منظور M.safa (http://barnamenevis.org/member.php?261217-M.safa) را فهمیدم
از اونجا که Dictionary خودش خیلی راحت نتیجه را نشون میده تصمیم گرفتم اینجوری پیش برم
name که داخل کمبو باکس نشون داده میشه را به عنوا key میگیرم
بعد همه ی مقادیر دیگه را به عنوان value بعد value را میام split میکنم و سایر مقادیر را ازش استخراج میکنم
به نظرتون اینجوری بهتر نیست ؟ سرعتش هم فکر میکنم بیشتر باشه چه در کد نویسی چه در جستجو و نمایش (البته چون داده ها خیلی زیاد نیست مشخص نیست)
ممنون از راهنمایی هاتون

مهرداد صفا
شنبه 12 مرداد 1392, 21:02 عصر
در لود کردن اطلاعات مشکلی ندارم
حتی تونستم دسته بندیشون هم بکنم (در ارایه)
مشکل سر اینه که من بیام با حلقه دوباره همه اینا را چک کنم ببینم چی ماله کی بوده
مشکل اینه که نمیتونم بعدم بفهمم کودوم مشخصات ماله کودوم قسمت بوده نمیتونم حلقه ها را جوری بنویسم که دقیقا همه ی مشخصات را بجورم و بگیرمشون

الان وقتی بخواهم از Dictionary استفاده کنم باتوجه به صحبت شما باید چجوری این کار را بکنم ؟
name را کلید در نظر میگیرم حالا از بین مقادیر باقی مونده کودوم را برای مقدارش در نظر بگیرم ؟

Type
ID
number
.......
از کلید مشابه هم که نمیشه استفاده کرد که بشه همه مقادیر را ذخیره کرد که یه مقدار هم به یک کلید بیشتر نمیشه داد ظاهرا...
یا شاید متوجه منظورتون نشدم درست
در Dictionary میشه بیش از 1 value داشت ؟
مقادیر داده ها یه 700 تا بیشتر نیست مقادیرشون کمه
میشه یک مثال برای این روشی که گفتید بزنید تا متوجه بشم
ممنونتون میشم
سپاس

خواهش می کنم.
یک روش، همین روشی بود که متوجه شدید (تمام فیلدها با هم ذخیره شده بعد از گرفتن Split شوند).
اما راه های بهتری هم هستند. شما می توانید از یک آرایه به عنوان Value استفاده کنید. پس کافیه name را به عنوان key و مابقی فیلد ها را به صورت آرایه و به عنوان value ذخیره کنید.