View Full Version : سوال: نحوه ایجاد فیلد ردیف
mehdi_khepel2004
یک شنبه 26 مهر 1388, 00:19 صبح
با سلام
من از sql server استفاده میکنم و مخوام توی ویوهایی که درست کردم علاوه بر تمام شرط هایی که برای نمایش گذاشتم یک شمارنده به عنوان ردیف اظافه کنم ضمنا این رو هم بگم که نمیخوام از فیلد محاسباتی به دلایلی که توضیحش مفصل هست استفاده کنم لطفا راهنمایی کنید
merced
یک شنبه 26 مهر 1388, 05:57 صبح
http://www.databasejournal.com/features/mssql/article.php/3572301/RowNumber-function-in-SQL-Server-2005.htm
http://databases.aspfaq.com/database/how-do-i-return-row-numbers-with-my-query.html
http://www.dotnetspider.com/resources/21938-how-generate-output-with-row-number-SQL.aspx
اگه تو همين سايت هم جستجو مي كردي سريعتر به نتيجه مي رسيدي
حسین شهریاری
یک شنبه 26 مهر 1388, 09:08 صبح
سلام دوست گرامی!!
من هم قبلا این مورد را داشتم و به فیلدهای محاسباتی اعتقادی نداشتم تا اینکه در عمل و پس از انجام
حدود 10 پروژه به این نتیجه رسیدم که به فیلدهای محاسباتی که در خود SQL ایجاد میشه خیلی نمیشه
اطمینان کرد(البته در بعضی موارد)که آوردن دلیل قانع کننده از حوصله این تاپیکها خارج است.
ولی بهترین کدی که برای ایجاد ردیف پیشنهاد میکنم اینه که مدتها هستش که داره درست کار میکنه:
اول یه فیلد محاسباتی ایجاد کن بعدش رویداد OnCalcField بنویسید:
Adoquery1.FieldByName('CalcField').AsFloat:=Adoque ry1.RecNo
البته اگر این کد را بنویسی سطر اول حاوی -1 میشه که برای حل این مشکل بعد از کد فوق بنویس:
if Adoquery1.FieldByName('CalcField').AsFloat<0 then
Adoquery1.FieldByName('CalcField').AsFloat:=Adoque ry1.FieldByName('CalcField').AsFloat*-1
البته چون متن بهم ریخته میشد نتونستم پرانتز دور -1 را قرار بدم خودتون زحمتشا بکشین.
vcldeveloper
یک شنبه 26 مهر 1388, 11:06 صبح
ولی بهترین کدی که برای ایجاد ردیف پیشنهاد میکنم اینه که مدتها هستش که داره درست کار میکنه
حالا چرا مقدارش را Float گرفتید؟ RecNo دلفی Integer هست، نیازی نداره آن را به Float تبدیل کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.