PDA

View Full Version : آپدیت مقادیر DataGridView در Database



phpphp7
یک شنبه 18 بهمن 1394, 20:52 عصر
سلام

بنده در پروژه کتابخانه، در DataGridVeiw یک ستون درست کردم که "جریمه دیرکرد" رو توسط کدهایی که نوشتم ، نشون میده . حالا میخواهم همین مقادیر رو در جدول مذکور ، ثبت و وقتی تغییر کرد، آپدیت بشه .

قابل ذکر هست که "جریمه دیرکرد" هر روز تغییر میکنه . یعنی امروز جریمه 600 تومان هست ، فردا میشه 800 تومان ، پس فردا میشه 1000 تومان

حالا میخواهم همین مقادیری که ستون "جریمه دیرکرد" هست ، در جدول Reserve آپدیت بشه . (هر لحظه آپدیت بشه)

رکورد های جدول Reserve:

ReserveId
BookId
PersonId
Date
DateExpire
Penalty

باید چه کدی بنویسم ( پروژه با Entity Framework نوشته شده است)

باتشکر

alexmcse
شنبه 24 بهمن 1394, 06:26 صبح
سلام
شما باید تاریخ
DateExpire را با تاریخ Date که فرد کتاب را تحویل میدهد محاسبه کرده(تاریخ DateExpire بلید کوچکتر از Date باشد)
سپس مقدار روزهای دیر کرد را محاسبه کنیم حالا آن را در حلقه for میگداریم سپس یک شرط میگدارم اگر روزهای دیر کرد یک باشد 600 ت در غیر اینصورت به تعداد روز های دیرکرد 200 ت به 600 اضافه میکنیم

محاسبه کردن بین دو تاریخ را در انجمن جستجو کن

phpphp7
یک شنبه 25 بهمن 1394, 11:41 صبح
سلام
شما باید تاریخ
DateExpire را با تاریخ Date که فرد کتاب را تحویل میدهد محاسبه کرده(تاریخ DateExpire بلید کوچکتر از Date باشد)
سپس مقدار روزهای دیر کرد را محاسبه کنیم حالا آن را در حلقه for میگداریم سپس یک شرط میگدارم اگر روزهای دیر کرد یک باشد 600 ت در غیر اینصورت به تعداد روز های دیرکرد 200 ت به 600 اضافه میکنیم

محاسبه کردن بین دو تاریخ را در انجمن جستجو کن


سلام این کار ها رو انجام دادم !

منتها این کدی که نوشتم تو رویداد FormLoad خود برنامه این کار صورت میگیره و جریمه رو تو خود برنامه حساب کردم .

ببینید ، هر روز مقدار جریمه فرق میکنه . امروز 500 تومان ، فردا 800 تومان . حالا میخواهم که همین مقداری که حساب شده ، به دیتابیس اضافه بکنم و هر روز هم دیتابیس آپدیت بشه .

phpphp7
سه شنبه 27 بهمن 1394, 10:53 صبح
یعنی کدش اینقدر سخته !؟!

میخوام مقدای یک ستون دیتاگرید ویو ، در دیتابیس آپدیت بشود !

مقدار دیتاگرید ویو نیز هر روز تغییر پیدا میکنه و دیتابیس هم ملزم به تغییر هست !

چه کدی بنویسم

khosro_68
سه شنبه 27 بهمن 1394, 11:04 صبح
داداش کاری نداره که یه کد آپدیت ساده س . شما اصل کارو که محاسبه دیرکرد رو انجام دادی فقط مونده آپدیت مقادیر تو دیتابیس.
این کد رو درست بعد از کد محاسبه مقدار دیرکرد قرار بده
for(int i = 0; i < dataGridView1.Rows.Count; i++)
{
// command = update Resrve set dirkard = @dirkard where ReserveID = @id
}
که @dirkard مقدار دیرکرد محاسبه شدس و
@id هم باید از هر سطر گریدویو بگیری

phpphp7
سه شنبه 27 بهمن 1394, 17:54 عصر
داداش کاری نداره که یه کد آپدیت ساده س . شما اصل کارو که محاسبه دیرکرد رو انجام دادی فقط مونده آپدیت مقادیر تو دیتابیس.
این کد رو درست بعد از کد محاسبه مقدار دیرکرد قرار بده
for(int i = 0; i < dataGridView1.Rows.Count; i++)
{
// command = update Resrve set dirkard = @dirkard where ReserveID = @id
}
که @dirkard مقدار دیرکرد محاسبه شدس و
@id هم باید از هر سطر گریدویو بگیری

سلام برادر

بله شما تنها کسی هستید که منظور من رو متوجه شدید

اما من پروژم رو با دستورات Linq نوشتم . هر کد linq مینویسم نمیدونم چرا کار نمیکنه شاید کد من اشتباه هست.

همه این کار ها انجام شده

اما در عکس زیر ، در شرط if چه کدی بنویسم تا مقادیر به دیتابیس اضافه / آپدیت بشن ؟

http://up.vbiran.ir/uploads/11596145565599918638_date.png

تابع بالا در رویداد Form Load برنامه ، هر دفعه باید فراخوانی بشود تا مقادیر جدید در دیتابیس آپدیت شوند

sds1920
چهارشنبه 28 بهمن 1394, 02:27 صبح
امیدوارم درست متوجه شده باشم که چی میخوایید
اگه مقادیر توی گرید آپدیت میشه ولی توی دیتابیس ثبت نمیشه ممکنه مشکل از Binding شما باشه.
شما مقادیر داخل گرید رو تغییر میدید،ولی به دلیل Binding اشتباه، Property های معادل اون در Entity تغییر نمی کنه و به دنبالش پس تغییراتی توی db هم ثبت نمیشه.

mustafaehsani
دوشنبه 03 اسفند 1394, 16:12 عصر
سلام برادر

بله شما تنها کسی هستید که منظور من رو متوجه شدید

اما من پروژم رو با دستورات Linq نوشتم . هر کد linq مینویسم نمیدونم چرا کار نمیکنه شاید کد من اشتباه هست.

همه این کار ها انجام شده

اما در عکس زیر ، در شرط if چه کدی بنویسم تا مقادیر به دیتابیس اضافه / آپدیت بشن ؟

http://up.vbiran.ir/uploads/11596145565599918638_date.png

تابع بالا در رویداد Form Load برنامه ، هر دفعه باید فراخوانی بشود تا مقادیر جدید در دیتابیس آپدیت شوند

شما می تونی عملیات update با یه پروسیجر انجام بدی مهم هم نیست با linq اتصال با بانک برقرار کرده باشی