PDA

View Full Version : سوال: مشکل با select و update در sqlite



mohammad5530
پنج شنبه 26 دی 1392, 20:18 عصر
با سلام

من توی نرم افزارم یک دیتاگرید دارم که از توی اون اطلاعات فرد رو برای ویرایش به درون تکست باکس ها میاره و زمانی که اطلاعات رو برای ویرایش تغییر می دهیم و ثبت میکنیم مشکل پیش میاد و ارور database locked نمایش داده میشه

من توی توی وبسایت های زیادی گشتم و متوجه شدم مشکل از آنجاست که دو کوئری select و update به صورت هم زمان که اجرا شوند این مشکل پیش می آید . ولی من نمیدونم این مشکل رو چگونه حل کنم .

چون زمانی که من اطلاعات فرد رو از توی دیتاگرید وارد تکست باکس ها می کنم از دستور con.close استفاده میکنم و بعد کوئری update رو اجرا میکنم

لطفا راهنمایی کنید که چه کاری باید انجام دهم
مرسی

Mousavmousab
پنج شنبه 26 دی 1392, 23:52 عصر
بین دو دستور SQL از کلمه Go استفاده کن. شاید مشکلت حل بشه.

ولی اینی که گفتم راه درست بود.
راه درست اینه که شما باید دستورات بانک اطلاعاتی که از یک عمل بیشتر است مثل همین مورد شما !!! باید به صورت Transactional بنویسید. هم توی C# کلاس SqlTransaction این امکان را به شما میده و هم می توی توی SQL به صورت زیر بنویسی:

Begin Transaction

code here//

end transaction

خیلی وقته کار نمی کنم شاید سینتکس بالا را اشتباه نوشته باشم ولی یه شرچ کوچیک کنی می تونی حلش کنی.

دلیل استفاده از این کلاس اینه که زمانی یک جدول insert نشد نباید بخش بعدی یعنی Update انجام بشه. این عدم تطابق را SqlTransaction جلوشو می گیره
یا همه یا هیچی

موفق باشی