با سلام
فرض کنید دیتاگریدویو یی (یا دیتاتیبل) با هزار سطر دارم
چجوری میتونم اون رو به یکباره در بانک Access ذخیره کنم؟؟؟
با سلام
فرض کنید دیتاگریدویو یی (یا دیتاتیبل) با هزار سطر دارم
چجوری میتونم اون رو به یکباره در بانک Access ذخیره کنم؟؟؟
یه روشش اینه که سطرها رو پیمایش کنید.و یه دستور اس کیو الی بسازید که هزار تا اینسرت توش باشه. (البته باید ببیند متغییر رشته ای این حجم توش جا میشه یا نه.) و به یکباره یک کامند اجرا کنید که حاوی دستور اس کیو ال باشه.
یا اینکه یه حلقه ایجاد کنی و داخل حلقه همون سطر رو بخونی و اینسرت کنی و تا اخر حلقه همین روش رو ادامه بدی
سلام.متاسفانه دیتابیس اکسس قابلیت اجرای همزمان دستورات رو نداره و برای درج ردیف گروهی باید دستورات رو تو حلقه بذارید.میتونید به جاش از دیتابیس sqlite استفاده کنید که کاملا بی دردسر،سبک و قابل حمله
سلام و تشکر از شما
امکان استفاده از sqlite فعلا ندارم چون همه بخش های برنامه کاملا انجام شده (فقط در بخشی مشکل بالا رو دارم و طول میکشه)
بله متاسفانه دو کوئری همزمان جواب نداد
مطمئتم راهی هست . من هزار سطر (که هر سطر 100 ستون داره ) رو حدود دوقیقه ذخیره میکنم در access
اما قبلا جایی دیدم شخصی اینکار رو تو ده ثانیه کرده بود
تو ذهنم بود حتی خروجی xml بگیرم بعد اونو apend کنم تو access
یا راههای شبیه به این
سلام
کدهاتون رو بفرستید.
همون کدی که می فرمایید تو 2 دقیقه ذخیره می کنه رو عرض کردم.
خب ظاهراً نمی خواید کدها رو بفرستید، مشکلی نیست. مهمترین نکته ای که وجود داره اینه که تمام موارد مشترک بویژه تعریف کانکشن و باز و بسته کردنش خارج از حلقه باشد. تعریف کامند هم باید خارج حلقه باشد فقط پارامترها داخل حلقه مقدار دهی میشه. البته داخل حلقه باید پارامترها رو هم پاک کنید (cmd.Parameters.Clear()).
من قبلاً تعداد بالای سطر رو توی یه فیلد ذخیره کردم به اینصورت که دیتاتیبل رو تبدیل به متن کردم و همش رو توی یه فیلد ذخیره کردم و سرعت هم مثل یه ذخیره ی ساده بود ولی نمی دونم نیاز شما چی هست.
این پست رو نگاه کنید ببینید جواب می گیرید.
من دیتاگریدویویی با 1000 سطر و 100 ستون دارم
حلقه گذاشتم و سطر به سطر در دیتابیس ACCESS (mdb) ذخیره کردم
این روش من باعث میشه مثلا دستور insert من 1000 بار تکرار بشه و 2دقیقه زمان هدر بره
من دنبال اینم این 2 دقیقه تبدیل بشه به نهایتا 10 ثانیه
ممنونم از شما ... شاید این روش جواب بده و سرعت رو بالاتر ببره ....
آیا از کدی که نشون دادید sample دارید ؟
1000 رکورد چیز خاصی نیست، اگه اطلاعات رو می تونید بفرستید تا تست کنیم.
متاسفانه الان کدش رو ندارم.