PDA

View Full Version : سوال: راهنمایی - استفاده از شرط و بررسی توسط linq



ramin005
چهارشنبه 11 بهمن 1391, 14:39 عصر
با سلام
بنده به روش linq با دیتابیسم ارتباط برقرار کردم.
توی دیتابیس یه جدولی دارم که اطلاعات نسخه نرم افزار رو داره
ستون های جدول:
code - version - date
من هر بار که تغییراتی در برنامه بدم میخوام بیام و در این قسمت یه رکورد جدید اضافه کنم
داخل کد برنامه هم مثلا code = 1 رو ذخیره کردم
حالا سوال بنده این است که چطوری میتونم بیام و جدول رو بررسی کنم اگر ردیف جدیدی ذخیره شده بود
(یعنی اگر آخرین مقدار تعلق گرفته به code در دیتابیس بزرگتر از مقدار تعلق گرفته به code در داخل برنامه بود)
یکسری کارها انجام بده مثل نمایش پیغام هشدار که ورژن جدید آماده است.

ممنون میشم اگر بنده را راهنمایی نمایید
با تشکر

ramin005
چهارشنبه 11 بهمن 1391, 21:15 عصر
لطفا یکی یه توضیح کوچولو بده

aliasghar2
چهارشنبه 11 بهمن 1391, 22:36 عصر
سلام

var q = from k in db.table1 where k.code>(from j in db.table2 select j.code).max() select k

if (q.count>0)
{
//insert code
}
البته ببخشید تو notpad نوشتمش

samadblaj
چهارشنبه 11 بهمن 1391, 23:15 عصر
سلام منظورتون رو درست متوجه نشدم اگه کد آقای aliasghar2 مشکلتون رو حل نکرد ساده تر بیان کنید تاکاری از دستم بر اومد انجام بدم... :قلب:

uniqueboy_ara
چهارشنبه 11 بهمن 1391, 23:38 عصر
اینم یه نمونه واضح تر:
bool UpdateIsAvailable = db.table1.select( M => M.Code ).max() < AppCode;

if( UpdateIsAvailable )
{
//کد های مورد نظر شما
}

ramin005
پنج شنبه 12 بهمن 1391, 08:01 صبح
سلام

var q = from k in db.table1 where k.code>(from j in db.table2 select j.code).max() select k

if (q.count>0)
{
//insert code
}
البته ببخشید تو notpad نوشتمش

ممنون از راهنماییتون
در اینجا دوتا جدول استفاده شده
ولی برنامه من یک طرفش جدول هست و طرف دیگرش یک متغیر است(code=1) توی برنامه ذخیره کردم و میخوام این مقدار داخل برنامه با آخرین مقدار code داخل دیتابیس مقایسه بشه و اگر کوچکتر بود پیغام بده که نسخه جدید وجود دارد.

ramin005
پنج شنبه 12 بهمن 1391, 08:02 صبح
سلام منظورتون رو درست متوجه نشدم اگه کد آقای aliasghar2 مشکلتون رو حل نکرد ساده تر بیان کنید تاکاری از دستم بر اومد انجام بدم... :قلب:
برنامه من یک طرفش جدول هست و طرف دیگرش یک متغیر است(code=1) توی برنامه ذخیره کردم و میخوام این مقدار داخل برنامه با آخرین مقدار code داخل دیتابیس مقایسه بشه و اگر کوچکتر بود پیغام بده که نسخه جدید وجود دارد.

ramin005
پنج شنبه 12 بهمن 1391, 08:04 صبح
اینم یه نمونه واضح تر:
bool UpdateIsAvailable = db.table1.select( M => M.Code ).max() < AppCode;

if( UpdateIsAvailable )
{
//کد های مورد نظر شما
}
کد شما بدون خطا اجرا شد اما هرکاری کردم دستورات داخل if اجرا نشد
از اونجایی که بنده تازه کارم میشه بگید این دستور چطور عمل میکنه؟
ممنون از راهنمایی خوب شما

ramin005
پنج شنبه 12 بهمن 1391, 09:39 صبح
دوستان مشکل بنده حل شد

int updateisavailable = connect.dbinfos.Max(m => m.code);

if (updateisavailable > appcode)
MessageBox.Show("نسخه جدید آماده است");