PDA

View Full Version : پرش به آخر بانک



Hossein Bazyan
شنبه 19 خرداد 1386, 17:51 عصر
سلام
من میخوام هنگامی که وب سایتم بالا میاد آخرین رکورد (یک جدول مشخص ) ذخیره شده را نمایش بده.
از چه دستوری مستوان برای پرش به آخر بانک استفاده نمود؟

aidinwashere
شنبه 19 خرداد 1386, 19:41 عصر
فیلد مشخصی نداره جدولتون؟ مثلا یک فیلد Auto Number یا یه فیلدی که شماره سطر رو نگه داره یا کلید باشه یا همچین چیزی؟

Hossein Bazyan
شنبه 19 خرداد 1386, 21:31 عصر
فیلد مشخصی نداره جدولتون؟ مثلا یک فیلد Auto Number یا یه فیلدی که شماره سطر رو نگه داره یا کلید باشه یا همچین چیزی؟

سلام
چرا فیلد ID را بعنوان ایندکس انتخاب نموده ام و هر بار رکورد تازه ای به بانک اضافه میشه به یکواحد هم به ID اضافه میشه یعنی اگر ما 10 رکورد داشته باشیم مقدار ID فیلد آخر 10 میباشد
من میخوام فایل رو باز کنم سپس بر اساس ID سورت کنم و کرسر را به آخر بانک هدایت کنم و مقدار ID را به دست بیارم مشکل من اینه که با کدام دستور میتوان به آخر بانک پرش نمود
مانند وی بی که مینویسیم RS.MoveLast

aidinwashere
شنبه 19 خرداد 1386, 23:40 عصر
!
اگه من درست متوجه شدم شما با نوشتن درست دستور SELECT میتونین آخرین رکورد رو بدست بیارین.
مثلا یه همچین چیزی:
SELECT * FROM yourTableName WHERE ID=Max(ID)

برای اطلاع هم بگم اگه میخواین به آخر فایل برین میشه از همچین چیزی استفاده کرد:
SELECT * FROM TableName WHERE 1=0
این دستور باعث میشه کرسر به آخرین سطر میره, ولی برای سوالتون "اصلا" از این روش استفاده نکنین و از نوشتن درست دستور SELECT سود ببرین, مورد دوم رو برای اطلاعات عمومی (!) عرض کردم.
میبخشید که در حضور اساتید پست میزنم.

----
ویرایش : فک میکنم من بد فهمیدم, فکر میکنم شما فقط "مقدار" فیلد ID رو میخواین, درسته؟
پس اینو بنویسین : SELECT MAX(ID) FROM yourTableName
این کوئری فقط یک مقدار برمیگردونه. (به اینجور کوئری ها Scalar هم گفته میشه)

Kamyar.Kimiyabeigi
یک شنبه 20 خرداد 1386, 07:43 صبح
همچنین میتونین از دستور زیر استفاده کنین


SELECT TOP 1 CategoryName FROM dbo.Categories ORDER BY CategoryID DESC

دستور بالا بر اساس CategoryID مرتب میکنه به صورت نزولی و شما با استفاده از top 1 آخرین رکورد رو بدست میارین

Hossein Bazyan
یک شنبه 20 خرداد 1386, 10:07 صبح
همچنین میتونین از دستور زیر استفاده کنین


SELECT TOP 1 CategoryName FROM dbo.Categories ORDER BY CategoryID DESC

دستور بالا بر اساس CategoryID مرتب میکنه به صورت نزولی و شما با استفاده از top 1 آخرین رکورد رو بدست میارین
سلام
دوست عزیز فکر خوبیه
من بجای اینکه صعودی مرتب کنم و آخرین رکورد را بخوانم باید نزولی مرتب کنم و اولین رکورد را بخوانم
درسته ؟


اگه من درست متوجه شدم شما با نوشتن درست دستور SELECT میتونین آخرین رکورد رو بدست بیارین.
مثلا یه همچین چیزی:


SELECT * FROM yourTableName WHERE ID=Max(ID)

این روش هم خوبه اما فکر کنم بالایی راحت تر باشه

مرسی از جواب دوستان