PDA

View Full Version : انتقال و ذخیره اطلاعات 2 جدول یکسان



hassan razavi
دوشنبه 15 بهمن 1386, 13:09 عصر
سلام بر کلیه دوستان
دو تا جدول داریم با فیلدهای کاملا یکسان به نامهای Table1 و Table2 ( فرض کنید که از Table1 کپی گرفتیم و فقط Rename کردیم ) . من داده ها رو از Table1 میگیریم و در یک Datatble بنام dt می ریزیم (Fill) . با متد Select همون dt اطلاعات رو در DataRow بنام مثلا dr نیز میریزم.

پس تا اینجا رکوردهای جدول Table1 را هم در یک DataTable و هم در DataRow داریم.
حالا من می خوام محتوای این dt یا dr را در جدول Table2 ذخیره کنم. یعنی dt یا dr را بعنوان پارامتر به متد Update مربوط به DataAdapter مربوط به Table2 ارسال کنیم.
با اینکه رکوردهای هر دو جدول دقیقا یکی هست ، ولی ذخیره نمیشه متاسفانه. یک علتش اینه که رکوردهای Select شده از Table1 بصورت unchanged هستند.

این مشکل رو میشه با یک حلقه و ذخیره تک به تک رکوردها انجام داد ولی من می خوام بصورت کلی (Bulk) اینکار رو انجام بدم.
دوستان عزیز شما بغیر از bulk copy ، برای این صورت مسئله چه راه هایی رو پیشنهاد میکنید.

Masoud_TB
دوشنبه 15 بهمن 1386, 13:52 عصر
من اگر بخوام اینکار رو انجام بدم به نظرم از SqlBulkCopy استفاده می کنم. چون امکان Notification هم داره و می تونی به صورت Async هم اجراش کنی.

behzadk
دوشنبه 15 بهمن 1386, 14:24 عصر
با سلام
من فکر میکنم اگه از دستور sql تودر تو استفاده کنید راحت تر هستید
insert into table2 values(select * from table1)

hassan razavi
دوشنبه 15 بهمن 1386, 15:29 عصر
با روش بهزاد جان موافقم. چونکه ممکنه که دوستان دیگری هم راه حل های دیگری داشته باشند ، تاپیک رو حل شده اعلام نمیکنم .


insert into Table2 select * from Table1 where id<6