PDA

View Full Version : چگونه یک کلینت دیتا ست رو رفرش کنم ؟



Mahmood_M
چهارشنبه 19 بهمن 1384, 01:28 صبح
با سلام خدمت همه دوستان عزیز
اگه می شه من رو راهنمایی کنید
چه جوری می تونم یه بانک اطلاعاتی ( کلینت دیتا ست ) رو رفرش یا بروز کنم ؟
راستش می خوام مثلا اگه توی یه جدول 1 رکورد ثبت شده باشه با حذف اون و وارد کردن رکورد جدید، فیلد AutoInc اون شماره 1 رو نشون بده نه 2 رو.
اگه کمکم کنید خیلی ممنون می شم.

vcldeveloper
چهارشنبه 19 بهمن 1384, 08:46 صبح
1- فیلد AutoInc مقدارش با حذف یا Insert رکورد ها تغییر نمی کنه.
2- برای Refresh یک DataSet هم می تونید از متد Refresh اش استفاده کنید.

Mahmood_M
چهارشنبه 19 بهمن 1384, 22:07 عصر
با تشکر از شما آقای کشاورز به خاطر جوابی که دادید
ولی متد رفرش رو قبول نمی کنه!!
یعنی وقتی دکمه دستور رفرش رو اجرا می کنم ، پیغام خطایی ظاهر می شه که می گه باید ابتدا بانک اطلاعاتی رو آپدیت کنید.
اگه بازم راهنماییم کنید خیلی ممنون می شم.
راستی اگه فیلد AutoInc با حذف یا اینسرت تغییر نمی کنه، پس از کدوم فیلد باید استفاده کنم تا شماره با ترتیب صحیح قرار بگیرند.
خیلی از شما ممنون می شم اگه جوابم رو بدید.

vcldeveloper
جمعه 21 بهمن 1384, 02:51 صبح
برای متد Refresh باید دید که شما ClientDataSet را به چی وصل کردید و در اون لحظه خاص چه کاری انجام میدید.
برای مورد دوم هم راه حل آماده ایی وجود نداره، اصولا قرار نیست فیلد AutoInc تغییر بکنه. اگه قصد شما فقط داشتن یک فیلد برای شمارش رکوردها هست، می تونید از Calculated Fields در دلفی استفاده بکنید.

Yasser_Program
جمعه 21 بهمن 1384, 04:48 صبح
سلام،
من با همه بی اطلاعیم یه چیزی بگم شاید ربط داشته باشه!
اگه از بانکهای Access استفاده می کنید، یه فیلد ID رو تعریف کنید به صورت AutoIncrement و اون رو PrimaryKey کنید. (از این فیلد اصلا برای نمایش ردیفتون استفاده نکنید، این کار برای همون Error به روز شدن جدول است در موقع Refresh)