PDA

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



raziyehbazargan
پنج شنبه 22 فروردین 1392, 11:06 صبح
دوستان من تصویر فرم و جدولم رو گذاشتم

چطور میتونم اگه کاربر هر گزینه ای رو انتخاب کرد(در چک باکسها) تمام آنها رو بصورت یک رشته در بیارم و در فیلد Top_Bottom_Left_Right_Front_Behind قرار بدم؟؟؟؟ البته رشته مربوط به سطر مشخص شده باشه

مثلا در قسمتی که Id =1 هست (گزینه برآمدگی چندین گزینه انتخاب شده باشه ) یا همزمان در قسمت id2 باز چندین گزینه انتخاب شده باشه و تمام اینها رو بصورت یک رشته در بیارم؟؟


بطوری که بتونم دوباره اگر نیاز از جدول آنها رو بخونم و در چک باکسهام نشون بدم

alexmcse
پنج شنبه 22 فروردین 1392, 11:28 صبح
textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString()+ " "+ dataGridView1.CurrentRow.Cells[2].Value.ToString() +" "+ dataGridView1.CurrentRow.Cells[3].Value.ToString();

raziyehbazargan
پنج شنبه 22 فروردین 1392, 11:45 صبح
textBox1.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString()+ " "+ dataGridView1.CurrentRow.Cells[2].Value.ToString() +" "+ dataGridView1.CurrentRow.Cells[3].Value.ToString();

دوست عزیز سلول ها از نوع چک باکس هست.چطور مقادیرشون و در یک متغیر رشته ای بصورت 0و1 قرار بدم؟؟؟ پیغام خطا میده

veniz2008
پنج شنبه 22 فروردین 1392, 11:57 صبح
سلام.
چرا برای هر فیلد چک باکس، داخل جدولتون یک فیلد bit نمیگیرید؟.
ثبت کردن این فیلدها در جدول کار سختی نیست،(هر چند منطقی به نظر نمیاد) ولی برگردوندنش به نوع bool مشکل تره.

raziyehbazargan
پنج شنبه 22 فروردین 1392, 12:01 عصر
سلام.
چرا برای هر فیلد چک باکس، داخل جدولتون یک فیلد bit نمیگیرید؟.
ثبت کردن این فیلدها در جدول کار سختی نیست،(هر چند منطقی به نظر نمیاد) ولی برگردوندنش به نوع bool مشکل تره.

برای هرفیلد یک چک باکس ندارم..کلا یک فیلد دارم و میخوام مقادیر ک باکس ها رو بصورت یک رشته 0و1 در اون ذخیره کنم؟؟؟ پیشنهاد شما چیه؟ روشی که برگردوندنشم راحت باشه

ali_najari
پنج شنبه 22 فروردین 1392, 12:36 عصر
دوست عزیز بهتریم راه اینه که بیای از Value استفاده کنید البته منظورم 0 یا 1 هستش که 0 نشان دهنده False و 1 نشان دهنده True باشه سپس یه فانکشن باید بنویسی که این کد ها رو ریکاور کنه و تبدیل کنه به True و False و در مقدار های Top , Left , ... قرار بده
البته منظورتون از شماره سطر رو متوجه نشدم

البته یه سوال دارم و اونم اینه که آیا هر کاربر تنظیمات مخصوص به خودش را داره یا خیر؟

veniz2008
پنج شنبه 22 فروردین 1392, 12:50 عصر
برای هرفیلد یک چک باکس ندارم..کلا یک فیلد دارم و میخوام مقادیر ک باکس ها رو بصورت یک رشته 0و1 در اون ذخیره کنم؟؟؟ پیشنهاد شما چیه؟ روشی که برگردوندنشم راحت باشه
سوال من اینه : چرا برای هر چک باکسی که بر روی فرمتون قرار داره یه فیلد bit در جدولتون در نظر نگرفتید؟ (به نظر طراحی جدول شما اشتباه به نظر میرسه).

raziyehbazargan
پنج شنبه 22 فروردین 1392, 23:30 عصر
دوست عزیز بهتریم راه اینه که بیای از Value استفاده کنید البته منظورم 0 یا 1 هستش که 0 نشان دهنده False و 1 نشان دهنده True باشه سپس یه فانکشن باید بنویسی که این کد ها رو ریکاور کنه و تبدیل کنه به True و False و در مقدار های Top , Left , ... قرار بده
البته منظورتون از شماره سطر رو متوجه نشدم

البته یه سوال دارم و اونم اینه که آیا هر کاربر تنظیمات مخصوص به خودش را داره یا خیر؟

ممنون از شما
بله هر کاربر باید بتونه نوع خسارت های وارده رو برای هر کانتینر انتخاب کنه....من هنوز متوجه نشدم...آیا میتونم بصورت یک رشته انتخابها رو ذخیره کنم؟ آیا در این صورت میتونم دوباره این رشته رو بخونم و در چک باکس ها نشون بدم؟؟؟
ممنون میشم با نمونه کد و کامل برام توضیح بدید
ممنون از شما دوست عزیز

raziyehbazargan
پنج شنبه 22 فروردین 1392, 23:35 عصر
سوال من اینه : چرا برای هر چک باکسی که بر روی فرمتون قرار داره یه فیلد bit در جدولتون در نظر نگرفتید؟ (به نظر طراحی جدول شما اشتباه به نظر میرسه).

من میخوام بتونم بصورت یک رشته تمام انتخابها رو ذخیره کنم .و id آن سطر رو در جدول دیگه استفاده کنم اگر برای هر چک باکس یک فیلد در نظر بگیرم نمیتونم اینگارو انجام بدم...شما فکر میکنید چطور باید اینکارو انجام بدم؟

ali_najari
پنج شنبه 22 فروردین 1392, 23:37 عصر
ممنون از شما
بله هر کاربر باید بتونه نوع خسارت های وارده رو برای هر کانتینر انتخاب کنه....من هنوز متوجه نشدم...آیا میتونم بصورت یک رشته انتخابها رو ذخیره کنم؟ آیا در این صورت میتونم دوباره این رشته رو بخونم و در چک باکس ها نشون بدم؟؟؟
ممنون میشم با نمونه کد و کامل برام توضیح بدید
ممنون از شما دوست عزیز

بله دوست عزیز باید بصورت رشته ذخیره کنید زیرا بهترین راه حل همینه

اگر امکان داره نمونه برنامه و بانک اطلاعاتی رو ضمیمه کنید تا واستون کاملش کنم.

raziyehbazargan
پنج شنبه 22 فروردین 1392, 23:46 عصر
بله دوست عزیز باید بصورت رشته ذخیره کنید زیرا بهترین راه حل همینه

اگر امکان داره نمونه برنامه و بانک اطلاعاتی رو ضمیمه کنید تا واستون کاملش کنم.

ممنونم از شما
حجم پروژه ام بالای 100 مگابایت هست...امکان داره یه نمونه برنامه ساده از فرم و جدولی که تصویرش ضمیمه هست بصورت نمونه برام نشون بدین؟در حد اینکه چطور گزینه های تانخابی رو بصورت رشته ذخیره گنم؟ در اینصورت نیازی نیست برای هرر چک باکس یه فیلد در نظر بگیرم؟درسته؟

veniz2008
جمعه 23 فروردین 1392, 00:00 صبح
من میخوام بتونم بصورت یک رشته تمام انتخابها رو ذخیره کنم .و id آن سطر رو در جدول دیگه استفاده کنم اگر برای هر چک باکس یک فیلد در نظر بگیرم نمیتونم اینگارو انجام بدم...شما فکر میکنید چطور باید اینکارو انجام بدم؟
وقتی برای هر id یک رشته که شامل وضعیت همه اون فیلدهاست میشه پس میشه برای هر id هم تعدادی فیلد bit گذاشت.(برای یک id چه یک فیلد رشته ای باشه چه چند فیلد bit ).اگر از bit استفاده کنید اینطوری موقع جستجو قدرت مانور بیشتری دارید. مثلا select ای میزنید که لیست همه id هایی رو بده که "فرورفتگی دارن" یا ...
اگر بصورت یک رشته ذخیره کنید آیا میتونید چنین موردی رو پیاده سازی کنید؟ .اگر هم بتونید دردسرش خیلی زیاد میشه. بشینید و خوب فکر کنید که در پروژتون بر روی این جدول چه گزارش هایی میخواید بگیرید. این جدول قراره چه نیازهایی از پروژه شما رو جوابگو باشه. حساب کنید آیا این فیلد رشته ای به شما کمک میکنه و میتونید براحتی نیازهای برنامتون رو ازش بگیرید؟.

raziyehbazargan
جمعه 23 فروردین 1392, 00:39 صبح
وقتی برای هر id یک رشته که شامل وضعیت همه اون فیلدهاست میشه پس میشه برای هر id هم تعدادی فیلد bit گذاشت.(برای یک id چه یک فیلد رشته ای باشه چه چند فیلد bit ).اگر از bit استفاده کنید اینطوری موقع جستجو قدرت مانور بیشتری دارید. مثلا select ای میزنید که لیست همه id هایی رو بده که "فرورفتگی دارن" یا ...
اگر بصورت یک رشته ذخیره کنید آیا میتونید چنین موردی رو پیاده سازی کنید؟ .اگر هم بتونید دردسرش خیلی زیاد میشه. بشینید و خوب فکر کنید که در پروژتون بر روی این جدول چه گزارش هایی میخواید بگیرید. این جدول قراره چه نیازهایی از پروژه شما رو جوابگو باشه. حساب کنید آیا این فیلد رشته ای به شما کمک میکنه و میتونید براحتی نیازهای برنامتون رو ازش بگیرید؟.

مشکب اینجاست که ممکنه چندین سطر با id های ومختلف (هر id با وشعیت های مختلف) انتخاب بشه.
چطور باید پیاده سازی کنم؟؟؟ راه حل شما درسته و ممکنه مثلا لیست همه id هایی رو که "فرورفتگی دارن" یا .. لازم داشته باشم
اما چطور باید باید پیاده اش کنم؟ طراحی جدولم اگر برای هر چک باکس یک فیلد در نظر بگیرمد درسته؟؟باز هم در این صورت id های مختلفی دارم ....

ali_najari
جمعه 23 فروردین 1392, 00:41 صبح
ممنونم از شما
حجم پروژه ام بالای 100 مگابایت هست...امکان داره یه نمونه برنامه ساده از فرم و جدولی که تصویرش ضمیمه هست بصورت نمونه برام نشون بدین؟در حد اینکه چطور گزینه های تانخابی رو بصورت رشته ذخیره گنم؟ در اینصورت نیازی نیست برای هرر چک باکس یه فیلد در نظر بگیرم؟درسته؟

دوست عزیز اینم نمونه برنامه که خواسته بودید امیدوارم درست منظورتون رو فهمیده باشم و مثال به دردتون بخوره

بخاطر اینکه یکم حجم فایل زیاد شده (1.03 مگابایت) بود مجبور شدم جای دیگه بذارم

لینک دانلود:

http://www.mediafire.com/?5t9b3hd23c7413d

ali_najari
جمعه 23 فروردین 1392, 00:44 صبح
مشکب اینجاست که ممکنه چندین سطر با id های ومختلف (هر id با وشعیت های مختلف) انتخاب بشه.
چطور باید پیاده سازی کنم؟؟؟ راه حل شما درسته و ممکنه مثلا لیست همه id هایی رو که "فرورفتگی دارن" یا .. لازم داشته باشم
اما چطور باید باید پیاده اش کنم؟ طراحی جدولم اگر برای هر چک باکس یک فیلد در نظر بگیرمد درسته؟؟باز هم در این صورت id های مختلفی دارم ....

دوست عزیز شما فقط ستون ها رو تغییر میدید ولی تعداد سطرها کماکان ثابت هستن
اگر تعداد ستون ها ثابت باشند (یعنی Top,left,...) اگر برای هر یک از آنها یه ستون از نوع bit تعریف کنید خیلی بهتر و راحتترخواهد بود ولی اگر تعداد آنها متغیر باشند باید از همین روشی که واستون نمونش رو آماده کردم استفاده کنید.

aslan
جمعه 23 فروردین 1392, 01:39 صبح
سلام
ببینید این به دردتون میخوره ؟
102677

raziyehbazargan
سه شنبه 27 فروردین 1392, 16:48 عصر
سلام
ببینید این به دردتون میخوره ؟
102677
ممنون از شما..همون چیزیه که میخوام...فقط میخوام بتونم اگر از هر سطرگزینه ای انتخاب شد یه رشته بهم بده...که اون رشته ارو تو یه فیلد ذخیره کنم... و بتونم راحت بایابی گنم؟؟؟

فکر میکنم جدولم ه این صورت باید باشه:id,top,bottom,left,right,front,behind
و یک رشته 14 تایی(به اندازه سطرها)
بهعنوان مثال:
ID:1
TOP:1100000000000
BOTTOM:00000000000000
LEFT:00000000000000
RIGHT:00000000000000
FRONT:0000000000000
BEHIND:0000000000000

به این معنی که از بالا ،فقط برآمدگی و فرورفتگی داریم
میشه ککم کنید ممنون

veniz2008
سه شنبه 27 فروردین 1392, 17:00 عصر
یک متغیر رشته ای بذارید و یه حلقه for که به تعداد ستون های مورد نظرتون تکرار بشه. در مثال زیر من فرض کردم که ستون های 0 تا 4 رو میخواید جمع بزنید:

string s = "";
for(int i = 0; i<5;i++)
{
if(Convert.ToBoolean( dataGridView1.CurrentRow.Cells[i].Value) == true)
s = s + dataGridView1.CurrentRow.Cells[i].Value.ToString();
}
MessageBox.Show(s);
موفق باشید.

aslan
سه شنبه 27 فروردین 1392, 21:33 عصر
سلام
ببینید یک همچین چیزی میخواین ؟
البته با استفاده از اطلاعات دیتاگرید هستش . اگر بخواین با استفاده از اطلاعات بانک اطلاعاتی باشه باید کدها را تغییر بدین
102947