PDA

View Full Version : انتقال چند رکورد بین دو cliendataset



accpascal
پنج شنبه 24 بهمن 1387, 19:34 عصر
با سلام خدمت اساتید
می خواهم بدون اتصال به سرور چند رکورد خاص از یک کلاینت دیتاست را به یک کلاینت دیتاست دیگر انتقال بدهم آیا امکان چنین عملی وجود دارد و چگونه
ممنون می شوم اگر نمونه کدی قرار دهید

vcldeveloper
جمعه 25 بهمن 1387, 02:39 صبح
اگر هر دو ClientDataset ساختار مشابهی دارند، می تونید متد CopyFields از ClientDataset مقصد را فراخوانی کنید، و ClientDataset مبداء را به عنوان پارامتر بهش بدید، تا محتوای تمام فیلدهای آن را در رکورد جاری از ClientDataset مقصد کپی کند. البته باید این کار را برای تمام رکوردهای ClientDataset مبداء تکرار کنید، و به ازاء هر رکورد از ClientDataset مبداء یک رکورد جدید به ClientDataset مقصد اضافه کنید.

accpascal
جمعه 25 بهمن 1387, 21:15 عصر
اگر هر دو ClientDataset ساختار مشابهی دارند، می تونید متد CopyFields از ClientDataset مقصد را فراخوانی کنید.
حتما من اشتباه می کنم ولی چنین متدی برای clientdatase پیدا نکردم

vcldeveloper
جمعه 25 بهمن 1387, 23:29 عصر
حتما من اشتباه می کنم ولی چنین متدی برای clientdatase پیدا نکردم
من در دلفی 2009 چک کردم. شاید در نسخه های قدیمی تر این متد وجود نداره.

accpascal
شنبه 26 بهمن 1387, 21:03 عصر
بعلت مشکل راست به چپ کردن گریدهای 2009 در برنامه های مولتی تیر من از دلفی 7 استفاده کرده ام
برای مشکل فوق راه دیگری وجود دارد؟
پروژه بدین صورت است که ابتدا جدولی در یک کلاینت دیتاست با دستور select انتخاب می گردد
در مرحله بعد رکوردهای خاصی از این جدول باید در دیتاست دیگری کپی شوند
البته می توانم با یک select دیگر هم این کار را انجام دهم اما با توجه به تعداد دفعات فراوان انتخاب دوم باعث کتدی برنامه می شود ضمنا برنامه تحت شبکه اینترنت اجرا می گردد

vcldeveloper
یک شنبه 27 بهمن 1387, 01:40 صبح
اگر CopyFields نداره، یکی یکی مقادیر فیلدها را برای هر رکورد از منبع بخوانید، و در مقصد کپی کنید. CopyFields هم همین کار را میکنه.