PDA

View Full Version : سوال: کم کردن مقدار یک فیلد بعد از درج



vB.N3T
شنبه 23 آذر 1392, 17:19 عصر
سلام مهندسان عزیز
یه فرم کالا داریم برای درج کالا و یکی از فیلد هاش تعداد کالا هست
مثلا نام کالا : مینو تعداد 20 عدد
این در جدول کالا درج میشه

و یه فرم فروش داریم که اطلاعات کالایی که فروخته شده رو در جدول sale ذخیره میکنه
ما کالا مینو را به فروش میرسونیم..1 عدد
و موقع ثبت در دیتا بیس چطور باید 1 دونه هو از جدول کالا فیلد تعداد کم کنیم
از linq استفاده میکنم
ممنون

elderado
شنبه 23 آذر 1392, 18:16 عصر
کد کالا رو که داری ، طبق همون کد تعداد رو از جدول کالا فراخوانی کن ، یه دونه ازش کم کن و مقدار جدید رو در جدول آپدیت کن.


int kala_count=Select("select count from kala where id=kala_id");
kala_count--;
update("update kala set count=kala_count where id=kala_id");

vB.N3T
شنبه 23 آذر 1392, 19:22 عصر
ممنون
یه مشکلی هست که linq وقتی این کوئری رو مینویسم به int گیر میده و مجبورم از var استفاده کنم که از var نمیشه ازش کم کرد


int kala_count = from s in db.tbl_kalas where s.id == int.Parse(txt_id.Text) select new { s.kala_number };
kala_count--; elderado عزیز الگوریتم شما کاملا درسته از همین روش استفاده میکنم یه نکته ای وجود داره..کد شما از تابع کانت داره استفاده میکنه...وقتی از کانت استفاده میکنیم میاد بر اساس شرط تعداد سطر ها رو میشماره و برای ما سلکت میزنه من نباید از کانت استفاده کنم. و اومدم شرط گذاشتم و اگه شرط درست بود میاد مقدار فیلد kala_number سلکت میزنه مشکل من اینجاست که تو linq من از var استفاده کردمم و نمیتونم توابع ریاضی رو روش پیاده کنم

vB.N3T
شنبه 23 آذر 1392, 19:22 عصر
این خطا رو میده

Error 1 Cannot implicitly convert type 'System.Linq.IQueryable<AnonymousType#1>' to 'int' D:\My File\My Folder(ali)\daneshgah\Payegah dade\WindowsFormsApplication13\WindowsFormsApplica tion13\sale.cs 121 90 WindowsFormsApplication13

elderado
شنبه 23 آذر 1392, 19:40 عصر
دوست عزیز من همون تعداد منظورم بود ولی متاسفانه اشتباه کردم و کلمه ی count رو نوشتم
خب بعد از اینکه var مقدار دهی شد اون رو به int کانورت کن و مقدارشو کم کن و دوباره اون رو به حالت اول برگردون

vB.N3T
شنبه 23 آذر 1392, 20:45 عصر
ممنون اره میشه من از یه روش ابتکاری استفاده کردم...بگم شاید به درد کسی بخوره اول مقدار فیلد kala_number رو از دیتا گرید کشیدم بیرون و ریختم تو یه متغیر بعدش تعداد فروش اون کالا رو از تکس باکس گرفتم و بعد هم بر اساس ایدی کالا جدول رو اپدیت کردم ...