PDA

View Full Version : batch update



titbasoft
یک شنبه 14 فروردین 1384, 12:26 عصر
در ado.net چطوری میشه batch update کرد :گیج:

Behrouz_Rad
یک شنبه 14 فروردین 1384, 13:24 عصر
برای شبیه سازی Batch Update در دات نت به شکل زیر عمل کنید:
روش زیر بسته به نوع Data Source نیست یعنی تفاوتی نمی کنه که شما از DataSet استفاده می کنید یا DataTable . چون هر دو منبع داده، متدهایی رو که در مثال زیر استفاده کردم، دارند.
فرضا DataSet.
اول باید چک کنید ببینید که در DataSet تغییری ایجاد شده یا خیر.


If Not myDataSet.HasChanges() Then Exit Sub

اگر تغییری داده نشده بود، از روال خارج میشیم در غیر اینصورت به شکل زیر ادامه میدیم.
DataSet موقتی ایجاد می کنیم و تغییرات اعمال شده در DataSet اصلی رو به اون منتقل می کنیم


Dim TmpDataSet As DataSet
TmpDataSet = MyDataSet.GetChanges()

و بعد از ادغام، در نهایت، Database را Update می کنیم.


MyDataSet.Merge(TmpDataSet)
MyDataAdapter.Update(MyDataSet)

titbasoft
یک شنبه 14 فروردین 1384, 13:28 عصر
مشکل من هم همین جاست که می خوام بدونم data adapter با استفاده از update command هر رکورد رو دونه دونه update میکنه یا اینکه دیتا ها batch update می شن :گیج:
اصلا کلی تر بپرسم: چطور میشه یک query از یک جدول در یک دیتابیس گرفت و اون رو در جدولی مشابه در دیتابیس دیگه insert کرد :گیج:

Behrouz_Rad
یک شنبه 14 فروردین 1384, 14:41 عصر
کلیه رکوردها توسط DataAdapter به صورت Batch آپدیت می شن.
می تونید دستور SQL ای که ایجاد شده رو به وسیله CommandBuilder مشاهده کنید.
سوال دوم شما با سوال اول تفاوت زیادی داره.
با استفاده از یک دستور INSERT INTO ساده.


Insert Into MyDestinationTable Select * From MyTargetTable

titbasoft
یک شنبه 14 فروردین 1384, 15:16 عصر
اون رو در جدولی مشابه در دیتابیس دیگه insert کرد

Behrouz_Rad
یک شنبه 14 فروردین 1384, 15:37 عصر
"INSERT INTO table1(strname1) select table2.strname2 from table2 in 'c:\my documents\db2.mdb';"

:wise1: