PDA

View Full Version : معادل دستور



mmd2009
شنبه 12 تیر 1389, 20:29 عصر
بچه ها هر کاری کردم نشد که یک cmd.CommandText بنویسم و اخرش تصمیم گرفتم اینجا مطرحش کنم

به نظر ما چطور میشه یه cmd.CommandText نوشت و تا معادل کار زیر رو انجام بدم




cmd.CommandText = "select max(daramad) from t1";
cmd.CommandText = "select name from t1 where daramad='" + cmd.ExecuteScalar().ToString() + "'";

return (result = cmd.ExecuteScalar().ToString());




تو زبان sql میشه ولی اکسس ج نمیده

Diaco.10727
شنبه 12 تیر 1389, 20:36 عصر
سلام
اسم فیلد name رو عوض کن
مثلا :
zname

تو پایگاه داده هم همینطور باید عوض بشه

mmd2009
شنبه 12 تیر 1389, 20:48 عصر
دوست عزیز این کد اجرا میشه

منظورم رو متوجه نشدی

میگم میخوام با یک cmd.CommandText اینکارو بکنم نه 2 تا cmd.CommandText

salehbagheri
شنبه 12 تیر 1389, 21:27 عصر
بهتر بود در بخش SQL مطرح میکردید:

ولی فکر کنم باید این طوری باشه:


SELECT [Name] From Table1 WHERE [Daramad] = (SELECT MAX(Daramad) From Table1)


بهتره در موردش جستجو کنید!

mmd2009
شنبه 12 تیر 1389, 22:33 عصر
بازم 2 تا Select هست که این طوری نمیخوام باشه

salehbagheri
یک شنبه 13 تیر 1389, 00:02 صبح
به سوال خودتون دقت کنید:

به نظر ما چطور میشه یه cmd.CommandText نوشت و تا معادل کار زیر رو انجام بدم

اینم جوابش:

cmd.CommandText = "SELECT [Name] From Table1 WHERE [Daramad] = (SELECT MAX(Daramad) From Table1)";
int Result = cmd.ExecuteScalar();


من جایی ندیدم که گفته باشید از یک Select استفاده بشه! در ضمن چنین چیزی که شما میخوای یعنی پیچوندن لقمه دور سر!

اگر هم من متوجه منظورتون نشدم بازهم برمیگرده به عدم مطرح کردن صحیح سوال!

باتشکر

mmd2009
یک شنبه 13 تیر 1389, 00:05 صبح
بله حق با شماست من نگفته بودم 2 تا select

دستوری که شما میگی درسته ولی من میخوام بدونم ایا میشه روشی که برای sql استفاده میشه رو اینجا هم انجاد داد

همین!

به هر حال ممنون

salehbagheri
یک شنبه 13 تیر 1389, 00:15 صبح
میشه ولی با همون روشی که شما رفتی!

اما اگه شرط یکدونه cmd.CommandText بذاری نمیشه!