PDA

View Full Version : Row cannot be located for updating



SyntaxCheck
سه شنبه 25 آذر 1382, 01:46 صبح
دوستان این ارور آزار دهنده بارها زمانی که با اکسس کار میکردم اعصابمو خورد کرده بود. امروز بالاخره فهمیدم گیر اصلی کجاست. چون فکر میکنم این مشکل خیلیها باشه اینجا مینویسم تا بلکه یه بدبختی مثل من بفهمه گیر کجاست.

این ارور:

Row cannot be located for updating. Some values may have changed since it was last read.
راه حل:

To resolve this problem, remove the default value that is specified for the numeric field in the Access database table.

و نکته:

Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

و منبع:
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q300/5/86.ASP&NoWebContent=1

said ali
چهارشنبه 26 آذر 1382, 13:03 عصر
با سلام
اقا دستت درد نکنه ولی من بدون اون موردی که گفتین هم این مشکل رو داشتم و اصلا DefultValue برای فیلدی تعریف نکردم ولی این مشکل ایجاد شد!!!؟؟

SyntaxCheck
شنبه 29 آذر 1382, 02:17 صبح
اون لینک رو ببینید حتما. این راه حل که من گفتم یک راه حل این باگ هست.دلایل بوجود اومدن ارور رو اونجا خوب توضیح داده.

SReza1
جمعه 12 دی 1382, 11:40 صبح
منم این مشکلو داشتم
آقای کرامتی راه حلشو گفت و الان هم اصلا مشکل ندارم
باید رفتار ado در هنگام ذخیره سازی را عوض کنی
که فکر کنم اون لینک همون جواب باشه
http://www.barnamenevis.org/forum/viewtopic.php?t=3889&highlight=row+can

sql_qassem
سه شنبه 23 مهر 1387, 23:30 عصر
اما من توضيحات اولي رو كاملا نفهميدم . البته من default value ندارم .ولي اين مشكل رو دارم.
در ضمن چند پست پيش فكر ميكردم مشكل در سال 86 و بعد فكر مي كردم سال 85 و حالا مي بينم از سال 82 دوستان زحمت كشيدند و دارند دنبال حل اين مشكل مي گردن.
موفق باشيد .
فكرم مي كنم بايد بعد از پيدا كردن جواب كامل تمام حالات اين پيغام رو توي يك تاپيك بذارم.

SYNDROME
چهارشنبه 24 مهر 1387, 07:33 صبح
Row cannot be located for updating

شما زمانی این پیغام را می بینید که :
1- در بانک فیلد کلید نداشته باشید.
2-رکوردی داخل DataSet داشته باشید که در لحظه ثبت تغییرات رکورد فوق داخل بانک وجود نداشته باشید(مثلاً بعد از آخرین Refresh مربوط به DataSet ان را پاک کنید)
3-از دستور


ADO.Properties['Update Criteria'].Value :=adCriteriaKey

استفاده نکرده باشید.
اگر دقت کنید همیشه این پیغام در زمانی ظاهر می شود که رکورد که شما در DataSet دارید در بانک پیدا نشود و اکثر مواقع در ویرایش اطلاعات با این مشکل مواجه می شود.
**دقت کنید با هر بار Close و Open کردن Dataset باید گزینه 3 را دوباره اعمال کنید.
موفق باشید

sql_qassem
چهارشنبه 24 مهر 1387, 10:00 صبح
با تشكر از تمامي دوستان
در befor post adodataset جدول مربوطه خودم كد هاي زير رو حل كردم مشكل حل شد.

procedure TDM.TransBeforePost(DataSet: TDataSet);
begin
Trans.Properties['Unique Table'].Value := 'Trans';
Trans.Properties['Update Criteria'].Value := 0 ;

end;