PDA

View Full Version : قرار دادن سه مورد آخر هریک بصورت جدا گانه



Minamir
چهارشنبه 21 اردیبهشت 1390, 10:53 صبح
سلام به همه اساتید
من جدولی دارم که تو اون یک id وجود داره که من می خوام برام سه مورد آخر اون جدول نمایش داده بشه اون هم جدا جدا.یعنی اول،آخرین مورد اضافه شده،بعد مورد یکی مانده به آخری و در آخر هم سومین چیزی که آخر به جدولم فرستاده شده دیده به شه برای واضحتر شدن بیشتر،می خوام هر کدوم رو تو یه DetailsViewدر asp نمایش بدم و اینکه این سه مورد خودشون یک شرط دیگه هم دارند اون هم اینکه من یک فیلدی تو همون جدول دارم اگر برابر با اون بود نمایش بده نه که بگرده مورد اخری رو که از همون نو هستش رو برام پیدا کنه و جز سه تای آخر قرار بده. ممنون میشم اگر کسی کمکم بکنه در ضمن من در حال حاضر تو sql xspres کار می کنم داخل asp.
ممنون!

حمیدرضاصادقیان
چهارشنبه 21 اردیبهشت 1390, 11:53 صبح
سلام.
دوست عزیز شما میتوانید با order By id Desc به ترتیب آخری به اولی رکوردها رو فیلتر کنی و در Where نیز چک کنی.
مثال :

Select id from table1
Where field1>10
order by id desc

در این کوئری لیست id از جدول table1 فراخوانی میشود که مثلا مقدار Field1 اون بزرگتر از 10 باشه و به ترتیب آخری به اولی اونو نمایش میده.
حالا اگر این کوئری جواب کار شما رو نمیده بهتره ساختار جداول و نمونه داده رو اینجا قرار بدید تا بهتر بشه راهنمایی کرد.

Minamir
چهارشنبه 21 اردیبهشت 1390, 12:30 عصر
مرسی از راهنمایتون من می خوام این سه مورد اخر جدا از هم نمایش داده بشن
من یک جدول دارم که یک شماره آگهی داره و یک توضیح و یک نوع!
من نیاز دارم که سه مورد آخر اگهی رو بصورت جداگانه نمایش بدن نه اینکه همرو باهم!
باید از نوع مثلا x، مورد آخر رو برام (شما با asp کار کردین دوست خوبم؟)بصورت تک تک هر کدوم رو تو یک DetailsView یا حالا هر چیزه دیگه ای نمایش بده ولی برام مهم هستش که جدا جدا از هم بهم بده!!!
تشکر هم می کنم از این که به سوالم پاسخ دادید ممنون از لطفتون!!!!

Minamir
دوشنبه 26 اردیبهشت 1390, 10:56 صبح
دوستان کسی نیست به من کمک کنه باور کنید وسط کار سر همین موضوع گیر کردم نمی دونم چیکار کنم خواهش می کنم اگه امکانش هست راهنماییم کنید ممنون

Reza_Yarahmadi
دوشنبه 26 اردیبهشت 1390, 17:51 عصر
دوست عزیز درست متوجه منظورتون نمیشم!! چیزی که من برداشت میکنم اینه که شما میخواید 3 رکورد آخر رو بخونید و توی 3 ابزار موجود در صفحه بصورت جداگانه نمایش بده. اگر برداشت من درست باشه مشکل شما ربطی به TSQL نداره و شما باید با استفاده از دستورات سمت برنامه (#C یا VB) این کار رو انجام بدید.
برای مثال شما میتونید با استفاده از DataReader بصورت زیر این کار رو انجام بدید
SqlCommand cmd = new SqlCommand(
"Select Top 3 * From TableName Where YourField = @YourParam Order By ID DESC",
con);
cmd.Parameters.AddWithValue("@YourParam", ParamValue);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
Control1.Text = dr["Field1"] + " , " + dr["Field2"];
}
if (dr.Read())
{
Control2.Text = dr["Field1"] + " , " + dr["Field2"];
}
if (dr.Read())
{
Control3.Text = dr["Field1"] + " , " + dr["Field2"];
}
con.Close();

Minamir
دوشنبه 26 اردیبهشت 1390, 18:11 عصر
دقیقا منظورم همین بود و واقعا ممنونم از راهنمایتون کارمو راه انداختین خدا همیشه کارتونو راه بندازه!!!!