PDA

View Full Version : سوال: فهميدن تكراري بودن مقادير يك فيلد در يك ClientDataSet



rezamahdizadeh
چهارشنبه 18 دی 1387, 16:09 عصر
يك ClientDataSet دارم كه يكي از فيلدهاي آن بنام EmpNo بايد يگانه و منحصر بفرد باشد. بعد از اينكه كاربر اطلاعاتش را وارد يك GridEh كرد و آن GridEh متصل به آن ClientDataSet با استفاده از يك DataSource است مي خواهم چك كنم كه هيچ مقدار تكراري در فيلد EmpNo وارد نكرده است لذا بايد مقدار EmpNo از سطر اول را با مقدار EmpNo سطرهاي دو الي آخر مقايسه كرد و مقدار EmpNo از سطر دوم را با مقدار EmpNo سطرهاي سه الي آخر مقايسه كرد و به همين ترتيب. (مثل يك حلقه تو در تو در آرايه ها) با Clone مي خواستم اين كار را بكنم اما در سايت جستجو كردم و مثال خوبي پيدا نكردم. آيا راه حل بهتري وجود دارد؟

SYNDROME
چهارشنبه 18 دی 1387, 16:54 عصر
اگر فیلد فوق PK است با استفاده از Clone یک کرسر از آن ایجاد کنید و سپس با Locate مقدار فوق را نمایش دهید.


IF ADO_Clone.Locate(FieldName, Value,[]) Then
Begin
// Repeat
End

موفق باشید

rezamahdizadeh
جمعه 20 دی 1387, 06:14 صبح
در واقع مشگل اصلي اينجاست كه ClientDataSet1 را داريم. حال با دستور CloneCursor و ارسال پارمترهاي درست به آن ClientDataSet2 ايجاد مي نماييم. فرض كنيم كه ركورد جاري در ClientDataSet1 ركورد دوم باشد. مي خواهم در ClientDataSet2 هم از ركورد دوم يا سوم شروع به مقايسه كنم. كد اين كار چيست؟