PDA

View Full Version : متد Update شی DataAdapter



h_arman
شنبه 14 فروردین 1389, 10:45 صبح
من یه بانک sql دارم با حدود 8 میلیون رکورد. هر هفته رکوردهای جدیدی از یه سری فایل متنی خونده میشه و به بانک اصلی اضافه میشه. اگر بخوام برای هر رکورد که میخوام اضافه کنم از یه دستور Insert استفاده کنم زمان خیلی زیادی طول میکشه و سرعت برنامه قابل قبول نیست.

راهکاری که پیدا کردم استفاده از یک Typed Dataset هست که ساختارش دقیقا مثل جدول اصلی توی دیتا بیس باشه. با این روش و تعریف یک sqlDataAdapter و تعریف InsertCommand برای اون مشکل سرعت حل میشه.

اما یه مشکل دیگه:
روی جدول اصلی یه ایندکس یونیک وجود داره که شامل 3 تا از فیلدهاست. یعنی ترکیب این سه تا فیلد نباید تکراری بشه. ولی چون شیء Dataset یک شیء Disconnected هست در موقعی که دارم رکوردها را به Dataset اضافه می کنم اشکالی بوجود نمیاد چون از داده های اصلی جدول بی اطلاعه و وقتی متد Update از شیء sqlDataAdapter اجرا میشه اگر رکورد تکراری تو Dataset باشه خطا میده.

حالا دنبال یه راه حل می گردم که بتونم فقط اون سطرهایی از Dataset را تو جدول اصلی اضافه کنم که تکراری نباشه.

ممنون از وقتی که میذارید

mohammad diba
یک شنبه 29 فروردین 1389, 15:49 عصر
خوب دوست عزیز می تونی یه فانکشن تویه sql بنویسی که یه مقدار bool برگردونه و از طریق آرگومانهای ارسالی وضعیت رو چک کنی که آیا رکورد هست یا نه؟