PDA

View Full Version : تغییر مقدار KeyField در ltBatchOptimistic DataSet



A.Nemati
جمعه 06 اردیبهشت 1387, 18:08 عصر
در یک DataSet که خاصیت LockType آن ltBatchOptimistic گذاشته شده است، چگونه می توان مقدار KeyField یک رکورد را تغییر داد (مطمئنا بعدا نیازی به BatchUpdate نخواهد بود).

SYNDROME
جمعه 06 اردیبهشت 1387, 18:29 عصر
در یک DataSet که خاصیت LockType آن ltBatchOptimistic گذاشته شده است، چگونه می توان مقدار KeyField یک رکورد را تغییر داد (مطمئنا بعدا نیازی به BatchUpdate نخواهد بود).
منطورتان را کاملاً متوجه نشدم.
اگر می خواهید مقدار یم فیلد را تغییر دهید می توانید با همان FieldByName انجام دهید.
موفق باشید

A.Nemati
جمعه 06 اردیبهشت 1387, 18:33 عصر
ببخشید، حق با شماست، سوال خیلی واضح مطرح نشده.
فیلدهای کلید قابل ویرایش نیستند مخصوصا اینکه این فیلد Identity هم باشه. چون به صورت اتوماتیک مقدار می گیرن. این فیلدها ReadOnly هستند.
من نیاز دارم که مقدار این فیلد را تغییر بدم.
خاصیت LockType مربوط به DataSet را هم ltBatchOptimistic گذاشتم تا مسقیما با دیتابیس درگیر نباشم. ضمنا نباید این تغییر رو در دیتابیس اعمال کنم. پس با خیال راحت می تونم این فیلد را تغییر بدم (البته اگه ADO اجازه بده).
ضمنا من از ADO و دیتابیس SQL استفاده می کنم.

A.Nemati
شنبه 07 اردیبهشت 1387, 17:00 عصر
اساتید محترم، هیچ کسی نظری نداره ؟؟؟
اگه جواب نگیرم باید یه دنیا کار رو از اول انجام بدم.

SYNDROME
شنبه 07 اردیبهشت 1387, 21:41 عصر
نگفتید دلیل این کارتان چیست؟
اولین چیزی که به ذهن من می رسید این است که اطلاعات را در یک جدول Temp بریزید و سپس بدون هیچ مشکلی آن را دستکاری کنید.
می توانید مقدار فوق را در یک فیلد دیگر بریزید و آن فیلد را دستکاری کنید.
موفق باشید

A.Nemati
سه شنبه 10 اردیبهشت 1387, 10:40 صبح
با تشكر از همراهي شما، فكر كنم جواب رو پيدا كردم:
http://barnamenevis.org/forum/showthread.php?p=507054#post507054