PDA

View Full Version : پيدا كردن بزرگترين مقدار در پايگاه و بازگرداندن آن در يك متغير



jeyjix
جمعه 06 دی 1387, 09:50 صبح
سلام دوستان .
من دو تا tabel دارن كه يكيش كد سر فصل هست و اون يكي ديگه زير حسابش.
اولي يه فيلد code داره كه اتومات بهش هر بار يكي اضافه ميشه (sql هست و خاصيت identity فعاله)
حالا توي جدول دومم يه فيلد دارم كه بايد با كد جدول اول پر بشه . بهترين راهي كه به نظرم اومد اين بود كه بزگترين مقدار جدول اول رو + 1 كنم و در فيلد جدول دوم ذخيره كنم :

select max(code) as expr1 from cust
حالا پايگاهم يك عدد رو بهم داره بر مي گردونه ! بهم ميگين اين عدد رو چطوري توي يك متغير ذخيره كنم ؟‌؟‌؟‌
مرسي :خجالت:

jeyjix
جمعه 06 دی 1387, 13:23 عصر
جسارت نباشه اما به نظر مياد انجمن يكم فعاليتش كم شد !
تمام جوابها هم به همين خلاصه ميشه :
بگرد پيدا مي كني !

nasser.man
جمعه 06 دی 1387, 13:57 عصر
راستش خیلی از sql سر در نمی یارم ولی تو sp همین max رو پیدا کن و تو یه متغیر که تو همون تابع تعریفش کردی بذار ، بعدش هم کاری که می خواستی رو با همون متغیر انجامش بده ....:لبخندساده:

بقیه دوستان هم حتما کمکت می کنند
موفق باشی

xxxxxxxxxx
جمعه 06 دی 1387, 14:12 عصر
اميدوارم مفيدباشه:


SqlConnection cn = new SqlConnection();
SqlCommand cmd = new SqlCommand("select max(code) as expr1 from cust ",cn);
cn.Open();
int maxid = (int)(cmd.ExecuteScalar());

اوبالیت به بو
جمعه 06 دی 1387, 14:33 عصر
كد جناب xxxxxxxxxx (http://barnamenevis.org/forum/member.php?u=36944) درست هستش اما احتياجي به Cast نيست.

int maxid = (int)(cmd.ExecuteScalar());

اينجوري هم جواب مي ده:


int maxid = cmd.ExecuteScalar();

lovesky
شنبه 07 دی 1387, 18:24 عصر
سلام من هم این مشکل را دارم و با زدن کد جنابxxxxxx به rerror زیر می رسم:
Error 2 Cannot implicitly convert type 'object' to 'int'. An explicit conversion exists (are you missing a cast?)
لطفا کمک کنید خیلی خیلی فوری

لا لايي
شنبه 07 دی 1387, 23:32 عصر
اگر خط زير ارور ميده

int maxid = (int)(cmd.ExecuteScalar());
اين رو امتحان كنيد

int maxid = Convert.ToInt32(cmd.ExecuteScalar());