-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
تا جاییکه من متوجه میشم مشکل اینه :
شما توی جدول کالاهاتون دو یا چند تا کالا با ID یکسان دارین.
خطا هم به این خاطره که عبارت این :
db.kalas.Where(c => c.ID = m)
چند کالا رو برمیگردونه در صورتی که باید حتم یک کالا رو برگردونه.
مگه این ID توی جدول کالا ستون اصلی نیست؟
چرا ID کلید اصلی هست
اما دوتا کلید اصلی دیگه هم دارم.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
دوستان چطور میتونم کاری بکنم که فیلد ID بطور اتوماتیک شماره دهی بشه؟
یعنی کاربر نتونه دستکاریش کنه. موقعی که داره اون سطر رو درج میکنه خودش مقدار بگیره.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بسم الله الرحمن الرحیم
نقل قول:
نوشته شده توسط
mojtaba5
چرا ID کلید اصلی هست
اما دوتا کلید اصلی دیگه هم دارم.
با سلام
فکر میکنم باید اون 2 تا کلید اصلی دیگه هم تو شرط دخیل کنید؛ چون چند تا کد اصلی دارید طبیعتا ترکیب اون چند تا برای شما رکورد یکتایی ایجاد میکند مگر اینکه بخواهید تمام رکوردهایی که IDشون برابر m هست حذف کنید که بعید میدونم.
یه چیزی شبیه به کد زیر:
int m2 = int.Parse(dataGridView1.CurrentRow.Cells[1].Value.ToString());
var QDel = db.kalas.Where(c => (c.ID == m) && (c.Id_Kala==m2)).First();
موفق باشید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
مهدی هادیان2
بسم الله الرحمن الرحیم
با سلام
فکر میکنم باید اون 2 تا کلید اصلی دیگه هم تو شرط دخیل کنید؛ چون چند تا کد اصلی دارید طبیعتا ترکیب اون چند تا برای شما رکورد یکتایی ایجاد میکند مگر اینکه بخواهید تمام رکوردهایی که IDشون برابر m هست حذف کنید که بعید میدونم.
یه چیزی شبیه به کد زیر:
int m2 = int.Parse(dataGridView1.CurrentRow.Cells[1].Value.ToString());
var QDel = db.kalas.Where(c => (c.ID == m) && (c.Id_Kala==m2)).First();
موفق باشید.
چرا Cells1 ؟؟
یعنی این خط کد رو علاوه بر int m که خودم تعریف کردم بزارم؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بسم الله الرحمن الرحیم
نقل قول:
نوشته شده توسط
mojtaba5
چرا Cells1 ؟؟
یعنی این خط کد رو علاوه بر int m که خودم تعریف کردم بزارم؟
با سلام
فرض کردم که مقدار kala_idتون توی Cells1دیتاگرید هست.
گفتم علاوه بر اون ID این هم مقایسه شود.
موفق باشید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
من فیلد ID رو از دیتابیسم پاک کردم اما بازم توی برنامه ارور این رو میگیره که مقدار ID وجود نداره.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
ول اینکه هیچکس نه تنها در این تاپیک بلکه در تاپیک های دیگر (البته منظورم از هیچکس بچه هایی هست که تو تالار فعالیت دارن) پاسخ الکی نمیدن بلکه تجربیاتشون رو در اختیار دیگران قرار میدهند. دوم اینکه پاسخ هایی که به شما داده شد همه درست بوند. حالا یکی تجربش کمتر و یکی بیشتر به جای تشکر اینگونه جواب دوستان رو میدید؟
دوست عزیز من نگفتم که الکی پاسخ میدین منظور من این بود که پاسخ شما اصلا ربطی به این بحث نداشت!!
خودتون بگین کامنت کردن اون سطر چه دخلی داره آخه؟؟؟؟!!!!!!!!!!
نقل قول:
c => c.ID == m یعنی چی؟
بگرد جایی که c بیشتر مساوی c.id مساوی با m ?
]چه معنی داره؟
داره میگه اوپراتورها نا معتبر استفاده کردید!!
به این نوع دستورات میگن LINQ
بیشتر دقت کن دوست عزیز...
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
من فیلد ID رو از دیتابیسم پاک کردم اما بازم توی برنامه ارور این رو میگیره که مقدار ID وجود نداره.
ببین دوست عزیز همونطور که گفتم اون مشکل به این خاطر بود که خروجی اون دستور چند رکورد بود.
و همونطور که خودتون گفتین چند تا کلید اصلی دارین.
پس شما یا باید این چند کلید اصلی رو ترکیب کنید و یه کلید اصلی بسازین.
و یا اینکه طبق گفته ی یکی از دوستان همه ی کلیدهای اصلی رو هم توی شرط دخیل کنید.
تا خروجی اون دستور حتما یک رکورد بیشتر نباشه.
موفق باشید
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
ببین دوست عزیز همونطور که گفتم اون مشکل به این خاطر بود که خروجی اون دستور چند رکورد بود.
و همونطور که خودتون گفتین چند تا کلید اصلی دارین.
پس شما یا باید این چند کلید اصلی رو ترکیب کنید و یه کلید اصلی بسازین.
و یا اینکه طبق گفته ی یکی از دوستان همه ی کلیدهای اصلی رو هم توی شرط دخیل کنید.
تا خروجی اون دستور حتما یک رکورد بیشتر نباشه.
موفق باشید
درسته
الان 2 تا کلید اصلی دارم کمتر از این نمیتونه باشه
اما برنامه هنوز برای فیلد ID که حذف شده ایراد میگیره.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بسم الله الرحمن الرحیم
نقل قول:
نوشته شده توسط
mojtaba5
من فیلد ID رو از دیتابیسم پاک کردم اما بازم توی برنامه ارور این رو میگیره که مقدار ID وجود نداره.
با سلام
شما بایستی اون دیاگرامتون رو آپدیت کنید تا مطابق با پایگاه داده شما بشه؛ گویا هنوز تغییرات اعمال نشده.
موفق باشید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
مهدی هادیان2
بسم الله الرحمن الرحیم
با سلام
شما بایستی اون دیاگرامتون رو آپدیت کنید تا مطابق با پایگاه داده شما بشه؛ گویا هنوز تغییرات اعمال نشده.
موفق باشید.
درود
چطوری دیاگرام رو آپدیت کنم؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بسم الله الرحمن الرحیم
نقل قول:
نوشته شده توسط
mojtaba5
درود
چطوری دیاگرام رو آپدیت کنم؟
با سلام مجدد
فایل دیاگرامتون رو باز کنید؛ روش راست کلیک کنید گزینه Update ... رو داره.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
مهدی هادیان2
بسم الله الرحمن الرحیم
با سلام مجدد
فایل دیاگرامتون رو باز کنید؛ روش راست کلیک کنید گزینه Update ... رو داره.
منظورتون از فایل دیاگرام چیه؟ از کجا باید بیارمش؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بسم الله الرحمن الرحیم
نقل قول:
نوشته شده توسط
mojtaba5
منظورتون از فایل دیاگرام چیه؟ از کجا باید بیارمش؟
با سلام
همون فایل DataClasses1.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
الان به یه مشکل دیگه خوردم
من الان 2 تا کلید اصلی دارم
Id_kala و Color ، وقتی دو تا رکورد فیلد Id_kalaشون یکی باشه موقع ویرایش یا حذف همون ارور رو میده.
حالا چطور میتونم اون شرط رو برای دو تا فیلد بزارم که درست بشه؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
الان به یه مشکل دیگه خوردم
من الان 2 تا کلید اصلی دارم
Id_kala و Color ، وقتی دو تا رکورد فیلد Id_kalaشون یکی باشه موقع ویرایش یا حذف همون ارور رو میده.
حالا چطور میتونم اون شرط رو برای دو تا فیلد بزارم که درست بشه؟
لطفا یک بار دیگه تاپیک 15 رو بخونید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
var QDel = db.kalas.Where(c => (c.Id_Kala==m2)&&(c.Color==m)).First();
وقتی این کد رو میزنم از پرانتز دوم که c.Color==m باشه این ارور رو میگیره: Operrator == cannot be applied to operands of type string and int
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
متن خطاش رو بخونید خیلی تابلوئه!!!!
متغیر m شما از نوع int هستش و ستون color از نوع String
پس نمیشه اینطوری باهم مقایسشون کنی.
اینطوری بنویس :
c.Color==m.ToString()
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
متن خطاش رو بخونید خیلی تابلوئه!!!!
متغیر m شما از نوع int هستش و ستون color از نوع String
پس نمیشه اینطوری باهم مقایسشون کنی.
اینطوری بنویس :
c.Color==m.ToString()
درستش کردم
الان برای ویرایش این ارور رو میده: Sequence contains no elements
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بازم از متن خطا مشخصه که دستور مورد نظر خروجی نداره!!!
به این دستور خودتون دقت کنین :
var QDel = db.kalas.Where(c => (c.Id_Kala==m2)&&(c.Color==m.ToString())).First();
وقتی توی این دستور خطای ذکر شده رو میده یعنی اینکه توی جدول هیچ رکوردی نیست که دو شرط رو همزمان داشته باشه!
یعنی هیچ رکوردی نیست که ستون Id_Kala اون برابر m2 باشه و همچنین ستون Color اون برابر m باشه.
متوجه شدین؟
برای اینکه بفهمین دلیلش چیه بهترین روش همونی هست که قبلا بهتون گفتم : استفاده از تریس کردن برنامه
برنامه رو تریس کنید ببینید مقدارهای که در متغیرهای m2 و m هستن واقعا در یک رکورد به طور همزمان هستن یا نه.
موفق باشید
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
دستورم برای ویرایش و حذف اینه، اون بالایی اشتباه بود:
int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==m.ToString()))).First();
پس با وجود 2 تا کلید اصلی چه شرطی باید بزارم برای ویرایش و حذف ؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
ببینید دستورتون درسته ولی مقادیری که دارین برای شرط میذارین اشتباهه!
مثلا الان شما مطمئنید که رکورد مورد نظر شما هم ستون Id_Kala اون و هم ستون Colot مقدارشون یکی هست و برابر مقدار m ؟؟؟؟؟؟
به نظرم شما باید اینطوری بنویسید :
int Id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string MyColot = dataGridView1.CurrentRow.Cells[1].Value.ToString();
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==MyColot))).First();
فقط در دستورهای اول و دوم مطمئن بشید که شماره ستون مربوط به ستون مورد نظر باشه.
و البته به جای شماره من توصیه میکنم از نام ستون استفاده کنید، به این صورت :
string MyColot = dataGridView1.CurrentRow.Cells["CellName"].Value.ToString();
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
سلام به همه
من کل تاپیک رو دیدم. مرتضی جان (morteza271) چی کشیدی تو داداش. کاش منم صبر شما رو داشتم.
دوستان محبت کنن خودشونم کمی تلاش و خلاقیت به خرج بدن تا کسائیکه پاسخ سوالات رو میدن اینقد اذیت نشن.
آقا مجتبای گل شما هم کد نویسیتون کلا غلطه دوست عزیز.
بنظر من بهتره که خیلی باز تر کد بنویسید تا بهتر متوجه شید اشکال کارتون گذاشت. بعدا اگر خاستید کدتون حرفه ای تر شه خلاصش کنید.
مثلا بجای این کدی که گذاشتید :
int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==m.ToString()))).First();
بنویسید:
var CellValue = dataGridView1.CurrentRow.Cells[0].Value;
var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
a_mottaghi_pour
سلام به همه
من کل تاپیک رو دیدم. مرتضی جان (
morteza271) چی کشیدی تو داداش. کاش منم صبر شما رو داشتم.
دوستان محبت کنن خودشونم کمی تلاش و خلاقیت به خرج بدن تا کسائیکه پاسخ سوالات رو میدن اینقد اذیت نشن.
آقا مجتبای گل شما هم کد نویسیتون کلا غلطه دوست عزیز.
بنظر من بهتره که خیلی باز تر کد بنویسید تا بهتر متوجه شید اشکال کارتون گذاشت. بعدا اگر خاستید کدتون حرفه ای تر شه خلاصش کنید.
مثلا بجای این کدی که گذاشتید :
int m = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==m.ToString()))).First();
بنویسید:
var CellValue = dataGridView1.CurrentRow.Cells[0].Value;
var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();
میشه بگید کجای کارم کلا اشتباه بوده؟
در ضمن فکر نمیکنم همه کسایی که توی این سایت هستن از توی شکم مادرشون برنامه نویس به دنیا اومدن.
همه ما اینجا جمع شدیم تا از هم چیز یاد بگیریم و برنامه نویسمون رو بهتر کنیم.
منم قبول دارم برنامه نویسیم خوب نیست ، اما اومدم تاپیک زدم سوال میکنم تا یاد بگیرم، وگرنه میتونستم مث خیلی های دیگه از روی پروژه هایی که هست کپی بکنم.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
کاش میشد تو شکم مادر برنامه نویس می شدیم.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
var CellValue = dataGridView1.CurrentRow.Cells[0].Value;
var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();
جناب a_mottaghi_pour کد بالای شما رو هم گذاشتم این ارور رو گرفت: Object reference not set to an instance of an object.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
ببینید دستورتون درسته ولی مقادیری که دارین برای شرط میذارین اشتباهه!
مثلا الان شما مطمئنید که رکورد مورد نظر شما هم ستون Id_Kala اون و هم ستون Colot مقدارشون یکی هست و برابر مقدار m ؟؟؟؟؟؟
به نظرم شما باید اینطوری بنویسید :
int Id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string MyColot = dataGridView1.CurrentRow.Cells[1].Value.ToString();
var QEdit = db.kalas.Where(c => (c.Id_kala == m) && (c.Colot==MyColot))).First();
فقط در دستورهای اول و دوم مطمئن بشید که شماره ستون مربوط به ستون مورد نظر باشه.
و البته به جای شماره من توصیه میکنم از نام ستون استفاده کنید، به این صورت :
string MyColot = dataGridView1.CurrentRow.Cells["CellName"].Value.ToString();
فکر کنم میخواستید این دستور رو بگید:
int id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string mycolor = dataGridView1.CurrentRow.Cells[1].Value.ToString();
اما واسه اینم ارور میگیره.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نمیدونم مشکلش چیه؟
به جای First() از FirstOrDefault() هم استفاده کردید باز ارور داد؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
فکر کنم میخواستید این دستور رو بگید:
int id = int.Parse(dataGridView1.CurrentRow.Cells[0].Value.ToString());
string mycolor = dataGridView1.CurrentRow.Cells[1].Value.ToString();
اما واسه اینم ارور میگیره.
راستش دیگه نمیدونم چی بگم هرچی میگم انگاری متاسفانه منظورمو متوجه نمیشین!!!
شما اگه مواردی که گفتم رو انجام میدادین صد در صد مشکلتون تا الان رفع شده بود!
ولی فکر کنم قبل اینکه توضیحات من و بقیه دوستان رو انجام بدین دوباره میاین سوالتون رو ادامه میدین!اینطوری به نتیجه نمیرسین!!
اگه میخواین کمکتون کنیم و امکانش هست لطف کنید کل کد اون توابع رو بذارین اینجا...
موفق باشید
-
1 ضمیمه
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
کل برنامتون رو با پیام خصوصی برام فرستادین و منم فقط فرمتون رو دیدم!ولی اجرا نکردم چون بانکش رو نتونستم اتچ کنم.
حالا من یه سوال دارم :
الان توی گرید شما که به شکل زیر هم هست کدوم ستون دبرگیرنده ی Id هست و کدوم ستون دربرگیرنده ی Color ؟؟؟؟؟
ضمیمه 104388
شما همینو به من بگین کد کامل ویرایش رو بهتون میدم.....
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
میشه بگید کجای کارم کلا اشتباه بوده؟
در ضمن فکر نمیکنم همه کسایی که توی این سایت هستن از توی شکم مادرشون برنامه نویس به دنیا اومدن.
همه ما اینجا جمع شدیم تا از هم چیز یاد بگیریم و برنامه نویسمون رو بهتر کنیم.
منم قبول دارم برنامه نویسیم خوب نیست ، اما اومدم تاپیک زدم سوال میکنم تا یاد بگیرم، وگرنه میتونستم مث خیلی های دیگه از روی پروژه هایی که هست کپی بکنم.
نقل قول:
نوشته شده توسط
mojtaba5
var CellValue = dataGridView1.CurrentRow.Cells[0].Value;
var QEdit = db.kalas.Where(c => c.Id_kala == Convert.ToInt(CellValue) && c.Colot== CellValue.ToString())).FirstOrDefault();
جناب
a_mottaghi_pour کد بالای شما رو هم گذاشتم این ارور رو گرفت: Object reference not set to an instance of an object.
فدات شم چرا ناراحت میشی؟
من فقط گفتم که باید بیشتر تلاش کنی و خلاقیت به خرج بدی.
تاریخ عضویتمون تو تالار تقریبا یکیه.اما سایر آمارهامون رو ببین که چقدر متفاوته. شما بیشتر پست دادی، کمتر تشکر کردی و خیلی کمتر تشکر شدی. این بخوبی نشون میده که شما بیشتر سوال کردی تا خواننده مطالب مفید باشی.
اینکه عرض کردم کدت کلا غلطه بخاطر اینه که هیچ تفکیکی بین کدهات وجود نداره. کدی که شما برای کوئری گرفتن مینویسی نباید داخل کدی باشه که شما داری اطلاعات رو فرم میخونی. برنامه باید دارای لایه بندی باشه. البته حالا بحث این تاپیک این نیست ولی اگر شما از ابتدا اصولی برنامه رو بنویسی خیلی راحت تر میشه دیباگش کرد و اشکالات احتمالش رو برطرف کرد.
این کدی که من خدمتتتون دادم ترجمه کد خود شما به زبانی بهتر بود و خب طبیعیه که بازم ارور میده. منکه نمیدونم برنامه شما چیه و فقط چیزی که فهمیدم اینه که ظاهرا CurrentRow را Null حساب میکنه که تنها علت این مساله فقط و فقط نداشتن row یا انتخاب نشدنشه.
بنظر من ممکنه شما از دیتا بایندینگ استفاده کردهب اشید و این کدتون قبل از بایند شدن باشه وب رای همین ارور بده. بهر حال اگر از همون اول کد رو کامل بذارید همه دوستان میتونن اشکالش رو بگن.
دوست خوبم همون پیش فرض ذهنی شما رد زدن تاپیک غلط بوده. شما گفتی "برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟" و این باعث میشه بی جهت گاها مجبور باشی از کدت دفاع کنی.
دوست خوبم منم مثه خودتم و فکر نکنم دارم از بالا به پائین نگاهت میکنم. فرق من با شما در اینه که شاید برام تلاش کردن برای حلل مشکلم خیییییییییییییلی ساده تر از تاپیک زدن و پست دادن باشه. گاهی وقتها خوبه که ما مغرور باشیم و بگیم باید این شمکلم رو خودم هر جور شده رفع کنم.
بهر حال امیدوارم موفق باشی :)
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
اگر صبر داشته باشی من بزودی یک برنامه ساده ویندوزی با gridview مینویسم و برات همینجا میذارم تا کدش رو ببینی شاید بدتردت خورد :)
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
a_mottaghi_pour
فدات شم چرا ناراحت میشی؟
من فقط گفتم که باید بیشتر تلاش کنی و خلاقیت به خرج بدی.
تاریخ عضویتمون تو تالار تقریبا یکیه.اما سایر آمارهامون رو ببین که چقدر متفاوته. شما بیشتر پست دادی، کمتر تشکر کردی و خیلی کمتر تشکر شدی. این بخوبی نشون میده که شما بیشتر سوال کردی تا خواننده مطالب مفید باشی.
اینکه عرض کردم کدت کلا غلطه بخاطر اینه که هیچ تفکیکی بین کدهات وجود نداره. کدی که شما برای کوئری گرفتن مینویسی نباید داخل کدی باشه که شما داری اطلاعات رو فرم میخونی. برنامه باید دارای لایه بندی باشه. البته حالا بحث این تاپیک این نیست ولی اگر شما از ابتدا اصولی برنامه رو بنویسی خیلی راحت تر میشه دیباگش کرد و اشکالات احتمالش رو برطرف کرد.
این کدی که من خدمتتتون دادم ترجمه کد خود شما به زبانی بهتر بود و خب طبیعیه که بازم ارور میده. منکه نمیدونم برنامه شما چیه و فقط چیزی که فهمیدم اینه که ظاهرا CurrentRow را Null حساب میکنه که تنها علت این مساله فقط و فقط نداشتن row یا انتخاب نشدنشه.
بنظر من ممکنه شما از دیتا بایندینگ استفاده کردهب اشید و این کدتون قبل از بایند شدن باشه وب رای همین ارور بده. بهر حال اگر از همون اول کد رو کامل بذارید همه دوستان میتونن اشکالش رو بگن.
دوست خوبم همون پیش فرض ذهنی شما رد زدن تاپیک غلط بوده. شما گفتی "برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟" و این باعث میشه بی جهت گاها مجبور باشی از کدت دفاع کنی.
دوست خوبم منم مثه خودتم و فکر نکنم دارم از بالا به پائین نگاهت میکنم. فرق من با شما در اینه که شاید برام تلاش کردن برای حلل مشکلم خیییییییییییییلی ساده تر از تاپیک زدن و پست دادن باشه. گاهی وقتها خوبه که ما مغرور باشیم و بگیم باید این شمکلم رو خودم هر جور شده رفع کنم.
بهر حال امیدوارم موفق باشی :)
توضیحات دوستمون واقعا برای افراد تازه کاری مثل من خیلی خوب و مفید هست.
امیدوارم بقیه افراد مبتدی(مثل من) از این نکاتی که ایشون گفتن بهره ببرن.
با تشکر فراوان از آقای متقی پور و آرزوی موفقیت برای شما...
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
توضیحات دوستمون واقعا برای افراد تازه کاری مثل من خیلی خوب و مفید هست.
امیدوارم بقیه افراد مبتدی(مثل من) از این نکاتی که ایشون گفتن بهره ببرن.
با تشکر فراوان از آقای متقی پور و آرزوی موفقیت برای شما...
شما لطف داری عزیزم
من خودمم مبتدی هستم :)
داشتم برای دوستمون کدهای کار با گرید را مینوشتم علاقه مند شدم که اصلا یه آموزش در این زمینه بنویسم و تو یه تاپیک جدا بذارم تا همه بخونن.
بهرحال ما مبتدی ها هم دل داریم و میتونیم تاپیک آموزشی در حد خودمون بذاریم. مگه نه؟ :)
امیدوارم مشکل آقا مجتبی و آقا مجتبی ها رو هم حل کنه.
ایشالا بزودی...
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
کل برنامتون رو با پیام خصوصی برام فرستادین و منم فقط فرمتون رو دیدم!ولی اجرا نکردم چون بانکش رو نتونستم اتچ کنم.
حالا من یه سوال دارم :
الان توی گرید شما که به شکل زیر هم هست کدوم ستون دبرگیرنده ی Id هست و کدوم ستون دربرگیرنده ی Color ؟؟؟؟؟
ضمیمه 104388
شما همینو به من بگین کد کامل ویرایش رو بهتون میدم.....
درود
توی این برنامه،شماره کفش Id_kala هست و رنگ Color .
ویرایش و حذف برنامم کار نمیکرد.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
درود
توی این برنامه،شماره کفش Id_kala هست و رنگ Color .
ویرایش و حذف برنامم کار نمیکرد.
خوب دیگه پس مشخصه مشکل کجاس!!!
اول اینکه آخه شما چرا شماره کفش و رنگ رو گذاشتین کلید اصلی؟؟؟؟ مگه امکانش نیست که تکراری بشه؟
شما یه ستون دیه به جدولت اضافه کن مثلا با نام ID بعد اون کلید اصلی و Auto Increment بذار تا خودش اتوماتیک مقدار دهی بشه.
و برای حذف و ویرایش هم فقط از همین ستون استفاده کن چون دیگه همیشه منحصربه فرد خواهد بود.
حالا مشکل کد الانتون :
بعدشم پسر خوب مگه شماره ستون رنگ 1 هست؟؟؟
آخه چرا هر کدی که دوستان میذارن رو کپی میکنی توی برنامت؟؟ تو باید شماره ستون رو هم عوض میکردی که نکردی.
اگه یادت باشه توی یکی از پست ها گفتم که توصیه میکنم به جای شماره ستون بهتره اسم ستون رو بذارین. واسه همچین روزی میگفتم!!!
در اصل باید بگم از صبح تا الان ما رو سرکار گذاشتی!!!!!!!!!!!!!! برو حالشو ببر.............
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
من قصد جسارت نداشتم آقا مرتضی اگه شما یا هر کدوم از دوستان ناراحت شدن ببخشید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
a_mottaghi_pour
شما لطف داری عزیزم
من خودمم مبتدی هستم :)
داشتم برای دوستمون کدهای کار با گرید را مینوشتم علاقه مند شدم که اصلا یه آموزش در این زمینه بنویسم و تو یه تاپیک جدا بذارم تا همه بخونن.
بهرحال ما مبتدی ها هم دل داریم و میتونیم تاپیک آموزشی در حد خودمون بذاریم. مگه نه؟ :)
امیدوارم مشکل آقا مجتبی و آقا مجتبی ها رو هم حل کنه.
ایشالا بزودی...
اتفاقا خیلی خوبه اگه بتونید آموزش هم بذارین و البته بتونید تمومش کنین.
چون توی این سایت مرسوم شده هرکی میاد یه آموزش میذاره و بعد چند روز میمونه رو هوا...
البته خود منم یکی از همون افراد شدم متاسفانه!!!(چند وقت پیش یه تایپیک آموزشی قرار دادم و بعد از چند پست دیگه بعدش نتونستم ادامه بدم به دلیل مشغله زندگی و ... و فقط یه پست گذاشتم و از دوستان معذرت خواهی کردم)
امیدوارم شما بتونید آموزش رو شروع و از همه مهتر تمومش کنید...
موفق باشید
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
من قصد جسارت نداشتم آقا مرتضی اگه شما یا هر کدوم از دوستان ناراحت شدن ببخشید.
شوخی کردم مهندس!!!
میدونم عمدی نبوده مگه بیکاری بیای ما رو سرکار بذاری!!!
فقط خواستم این آخر شبی مزاح کرده باشم...
حالا به هر حال تونستین مشکلتون رو حل کنید؟؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
شوخی کردم مهندس!!!
میدونم عمدی نبوده مگه بیکاری بیای ما رو سرکار بذاری!!!
فقط خواستم این آخر شبی مزاح کرده باشم...
حالا به هر حال تونستین مشکلتون رو حل کنید؟؟
متاسفانه خیر
اگه بخوام کلید اصلی رو ID تنها بگیرم برای گزارش گیری کفش از یک نوع با رنگهای مختلف به مشکل برمیخورم.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
متاسفانه خیر
اگه بخوام کلید اصلی رو ID تنها بگیرم برای گزارش گیری کفش از یک نوع با رنگهای مختلف به مشکل برمیخورم.
نه به چه مشکلی برمیخورین؟ربطی نداره!!!
البته این ID منظور همون شماره کفش نیست ها...
این یه ستون جدیده که خود دیتابیس مقداردهیش میکنه و شما فقط ازش استفاده می کنید...
متوجه منظورم شدین؟
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
نه به چه مشکلی برمیخورین؟ربطی نداره!!!
البته این ID منظور همون شماره کفش نیست ها...
این یه ستون جدیده که خود دیتابیس مقداردهیش میکنه و شما فقط ازش استفاده می کنید...
متوجه منظورم شدین؟
بله متوجه شدم همون اولم یه فیلد ID داشتم که حذفش کردم، فکر کنید یه مدل کفش دارید با شماره 200 ، ازین مدل پنج رنگ دارید، وقتی یکی از رنگها تموم میشه چطور میتونید گزارش بگیرید که اون رنگ رو ندارید؟توی بحث نرمال سازی به ما گفتن اینطور مواقع اون فیلد رو هم کلید اصلی بگیرید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
بله متوجه شدم همون اولم یه فیلد ID داشتم که حذفش کردم، فکر کنید یه مدل کفش دارید با شماره 200 ، ازین مدل پنج رنگ دارید، وقتی یکی از رنگها تموم میشه چطور میتونید گزارش بگیرید که اون رنگ رو ندارید؟توی بحث نرمال سازی به ما گفتن اینطور مواقع اون فیلد رو هم کلید اصلی بگیرید.
داداش گلم بنظر من شما کلا دیتا بیست رو درست طراحی نکردی.
فدات شما ناراحت نشی ولی بمنظرم بهتره از پروژه های سبک تر شروع کنی. این شاید کمی برات سنگین باشه
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
morteza271
اتفاقا خیلی خوبه اگه بتونید آموزش هم بذارین و البته بتونید تمومش کنین.
چون توی این سایت مرسوم شده هرکی میاد یه آموزش میذاره و بعد چند روز میمونه رو هوا...
البته خود منم یکی از همون افراد شدم متاسفانه!!!(چند وقت پیش یه تایپیک آموزشی قرار دادم و بعد از چند پست دیگه بعدش نتونستم ادامه بدم به دلیل مشغله زندگی و ... و فقط یه پست گذاشتم و از دوستان معذرت خواهی کردم)
امیدوارم شما بتونید آموزش رو شروع و از همه مهتر تمومش کنید...
موفق باشید
صد تا آموزش نیمه تموم اینجا دیدم :)
برای رفع این مشکل تا تموم نشدنش تاپیک رو نمیزنم
اگر بفرض محال هم زدم قطعا تمومش میکنم نگران نباش عزیزم :)
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
a_mottaghi_pour
داداش گلم بنظر من شما کلا دیتا بیست رو درست طراحی نکردی.
فدات شما ناراحت نشی ولی بمنظرم بهتره از پروژه های سبک تر شروع کنی. این شاید کمی برات سنگین باشه
شما اگه ایده بهتری داری بگو.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
روش طراحی جدول های دیتابیستون رو طبق توضیحات خودتون که به صورت پ.خ برام ارسال کرده بودین براتون پ.خ کردم.
لطف کنید چک کنید و اگه مشکلی بود بگین...
موفق باشید
-
1 ضمیمه
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
سلام.
من یه نمونه برنامه طبق اون ساختار دیتابیسی که بهتون دادم درست کردم تا ازش استفاده کنید.
اینجا میذارمش تا نمونه ای داشته باشین و راحت تر بتونید پروژه ی خودتون رو انجام بدین.
ضمیمه 104445
اول فایل sql رو توی sql اجرا کنید تا دیتابیس به همراه جداول ایجاد بشن و بعد برنامه رو باز کنید و ازش استفاده کنید.
فقط من با ADO به دیتابیس وصل شدم و از LINQ استفاده نکردم.
طبق همین برنامه میتونید بقیه موارد که توی پروژتون هست رو انجام بدین.
اگه مشکلی هم داشتین در همینجا بپرسین.
البته اینم بگم که برای اتصال به دیتابیس بهتره که به صورت چند لایه ای عمل کنید که متاسفانه به دلیل کمبود وقت نتونستم اینکار رو بکنم. و من توصیه میکنم به شما که اگه می خواین اصولی یادبگیرین روش چند لایه رو هم یاد بگیرین.
اگه بدردتون خورد واسم دعا کنید...
موفق باشید
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
یک سوال:
من یک فرم اصلی دارم و میخوام وقتی روی یک دکمه در این فرم اصلی کلیک کردم فرم2 باز بشه و در عین حال یک join هم انجام بشه بین 3 جدول و نتیجه رو در همون فرم 2 به من نشون بده.بعد در فرم 2 میخوام عملیات درج حذف و ویرایش و جستجو بر اساس اون جدولی که برام join کرده رو انجام بدم.
آیا میتونم کد join سه تا جدول رو پس از این کد بنویسم؟
Form2 f2 = new Form2();
f2.show();
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
بسم الله الرحمن الرحیم
نقل قول:
له متوجه شدم همون اولم یه فیلد ID داشتم که حذفش کردم، فکر کنید یه مدل کفش دارید با شماره 200 ، ازین مدل پنج رنگ دارید، وقتی یکی از رنگها تموم میشه چطور میتونید گزارش بگیرید که اون رنگ رو ندارید؟توی بحث نرمال سازی به ما گفتن اینطور مواقع اون فیلد رو هم کلید اصلی بگیرید.
با سلام
پیشنهادی برای پایگاه دادتون دارم:
یک جدول برای رنگ در نظر بگیرید شامل فیلدهای کد رنگ (اتونامبر), نام باشد (کد رنگ کلید اصلی).
جدولی هم برای سایز شامل فیلدهای کد سایز (اتونامبر), شماره باشد (کد سایز کلید اصلی).
جدول کالا که شامل فیلد ID که اتونامبر باشه و به عنوان کلید اصلی تلقی شود و مابقی فیلدهای مورد نیازتون به جز رنگ و سایز
رابطه کالا و رنگ چند به چند است همون طور که فرمودید کفش شماره 1 مثلا رنگ 1 و 2 و ... را دارد و همین طور هر رنگی میتواند مربوط به چند کفش باشد؛ بنابراین یک جدول واسط بین کالا و رنگ قرار میدیم به نام جدول کالا_رنگ
جدول کالا_رنگ: شامل ID که کد اصلی است و اتونامبر و کلید کالا و کلید رنگ که کلیدهای خارجی هستند.
و با همین تفاسیر جدول واسط کالا_سایز
جدول کالا_سایز: شامل ID که کد اصلی است و اتونامبر و کلید کالا و کلید سایزکه کلیدهای خارجی هستند.
موفق باشید.
-
نقل قول: برنامه ای که نوشتم درسته اما چرا Exception میده؟؟؟
نقل قول:
نوشته شده توسط
mojtaba5
یک سوال:
من یک فرم اصلی دارم و میخوام وقتی روی یک دکمه در این فرم اصلی کلیک کردم فرم2 باز بشه و در عین حال یک join هم انجام بشه بین 3 جدول و نتیجه رو در همون فرم 2 به من نشون بده.
بعد در فرم 2 میخوام عملیات درج حذف و ویرایش و جستجو بر اساس اون جدولی که برام join کرده رو انجام بدم.
آیا میتونم کد join سه تا جدول رو پس از این کد بنویسم؟
Form2 f2 = new Form2();
f2.show();
راستش من که اصلا متوجه نشدم منظورتون چیه!!!!
یعنی چی join رو بعد از دستورات بالا بنویسید؟!!
نمونه برنامه ای که گذاشتم رو بررسی کردین؟
همه چی توی اون هست خیلی راحت میتونید مطابق با نیاز خودتون تکمیلش کنید...