PDA

View Full Version : پیغام خطای "Either EOF or BOF is True"



mojtaba_z
چهارشنبه 27 تیر 1386, 12:38 عصر
سلام
توی Ado از دستور Append استفاده کردم . بعدش دستور FindPrior رو اجرا کردم تا رکورد قبلی که میشه آخرین رکورد ، رو نمایش بده ولی پنجره Exception Notification باز میشه و اخطار میده که Either EOF or BOF is True. این یعنی چی ؟

dkhatibi
چهارشنبه 27 تیر 1386, 13:18 عصر
چند تا رکورد وجود داره؟

m-khorsandi
چهارشنبه 27 تیر 1386, 14:23 عصر
با چه نسخه‌ای از دلفی؟

vcldeveloper
پنج شنبه 28 تیر 1386, 09:26 صبح
اخطار میده که Either EOF or BOF is True. این یعنی چی ؟
یعنی به ابتدا یا انتهای جدول رسیدی.


توی Ado از دستور Append استفاده کردم . بعدش دستور FindPrior رو اجرا کردم تا رکورد قبلی که میشه آخرین رکورد ، رو نمایش بده
وقتی از Append استفاده کردی، آیا بعدش رکورد جدید را Post کردی که در بانک ذخیره بشه؟ تا زمانی که رکورد جدید Post نشه، به عنوان رکورد جدول شناخته نمیشه که بخوای بری روی رکورد قبل یا بعدش.

mojtaba_z
شنبه 30 تیر 1386, 10:33 صبح
سلام
کلا منظورم اینه که وقتی روی آخرین رکورد هستم ، اگه دستور DataSource1.DataSet.FindNext رو اجرا کنم یا وقتی روی اولین رکورد باشم دستور DataSource1.DataSet.FindPrior رو اجرا کنم پیغام خطایی که گفتم رو نشان میده .

vcldeveloper
شنبه 30 تیر 1386, 14:06 عصر
کلا منظورم اینه که وقتی روی آخرین رکورد هستم ، اگه دستور DataSource1.DataSet.FindNext رو اجرا کنم یا وقتی روی اولین رکورد باشم دستور DataSource1.DataSet.FindPrior رو اجرا کنم پیغام خطایی که گفتم رو نشان میده .
خب باید هم نشون بده. پیغام مربوطه یعنی به آخرین یا اولین رکورد رسیدید و نمی تونید متد مربوطه را فراخوانی کنید. انتظار دارید چیکار کنه؟!

mojtaba_z
یک شنبه 31 تیر 1386, 07:22 صبح
سلام

من که نمیدونم چه وقت به آخر یا اول رکورد میرسه . وقتی که چند بار از این متد استفاده بشه ممکنه به ابتدا یا انتهای رکورد ها برسه . حالا مشکلی نداره که برسه ، فقط میخوام پیغام خطا نده .
یه چیز دیگه اینکه چه فرقی بین DataSet.FindPrior و DataSet.Prior هستش و چه موقع از هر کدوم استفاده میشه ؟

vcldeveloper
یک شنبه 31 تیر 1386, 12:28 عصر
وقتی که چند بار از این متد استفاده بشه ممکنه به ابتدا یا انتهای رکورد ها برسه . حالا مشکلی نداره که برسه ، فقط میخوام پیغام خطا نده .
قبل از فراخوانی اون متدها می تونید مقدار DataSet.Eof یا DataSet.BOF را چک کنید، اگر True بود، یعنی به انتها یا ابتدای RecordSet رسیدید و نباید متدهای مذکور را اجرا کنید.

یه چیز دیگه اینکه چه فرقی بین DataSet.FindPrior و DataSet.Prior هستش و چه موقع از هر کدوم استفاده میشه ؟
روی هر کدومشون در IDE دلفی کلید F1 را بزنید و توضیحاتشون و مثال هایی که در Help دلفی درباره نحوه استفاده از این متدها زده شده است را مطالعه کنید. اگر از ابتدا این کار را کرده بودید، تا الان مشکلتون برطرف شده بود و این تاپیک را هم ایجاد نمی کردید.

موفق باشید.