PDA

View Full Version : پیدا نمودن رکود خاص از طریق شماره رکود



khoshblagh
سه شنبه 08 آذر 1390, 09:54 صبح
با سلام خدمت دوستان
من از طریق کوئری شماره رکود خاصی را بدست آوردم. حالا میخواهم با کد زیر اصلاحی با دستور sql بر روی همان رکورد انجام دهم آیا دستور زیر (بخش مربوط به WHERE ) صحیح است؟ آیا شماره رکوردی که از طریق کوئری استخراج میشود همان شماره رکورد واقعی درون جدول بانک مربوطه است یا شماره رکود مجازی درون آن کوئری است ؟متشکرم



WHERE RecNo='+IntToStr(intRecordNum)

hossein_h62
سه شنبه 08 آذر 1390, 14:40 عصر
سلام
اگر کوئری در حالت کلی باشه یعنی بدون شرط و مرتب سازی(مثلا Select * from table) ،ترتیب رکوردهای واکشی شده با رکوردهای درج شده باید یکی باشه، در غیر اینصورت اینطور نیست.
اگر شماره رکوردی که بدست آوردین در حالت اول باشه و فیلد RecNo شما دقیقا بترتیب باشه و گپی نداشته باشه این کد باید جواب بده.

یوسف زالی
سه شنبه 08 آذر 1390, 18:20 عصر
سلام.
به هیچ عنوان به RecNo اعتماد نکنید.
هم باگ داره و هم ابنکه خیلی بعیده که با Identity شما همسان باشه.
به جای اون می باید از طریق همون Identity با جدولتون ارتباط برقرار کنید.
اگر در سلکتتون نیاوردیدش باید بیارید اما نمایشش ندید.

hossein_h62
چهارشنبه 09 آذر 1390, 00:04 صبح
هم باگ داره
سلام
دوست عزیز ممکن در مورد باگ RecNo توضیح بدین ؟ به چه استنادی میگین باگ داره ؟!

یوسف زالی
چهارشنبه 09 آذر 1390, 00:41 صبح
سلام خدمت شما.
این باگ معمولا وقتایی خودشو نشون می ده که تعداد رکورد ها از ارتفاع گرید بیشتر باشه و با ماوس اسکرول رو به انتهای گرید درگ کنیم.
عدد نشون داده شده رو 1- نمایش می ده.
گاهی هم هنگام open شدن جدول رکورد اول رو هم 1- نمایش می ده.
برای رهایی از این مشکل هم بعد از کلی گشتن بالاخره فهمیدم که دستور جایگزین می تونه این باشه:
ADOTable.RecNo --> ADOTable.Recordset.AbsolutePosition

تو این پست در این باره بحث شده:
http://barnamenevis.org/showthread.php?295027-سوال-در-مورد-فیلد-Calculate&highlight=recno+%D9%85%D8%B4%DA%A9%D9%84