رفتن به مطلب
  • 0

توضیح و ترجمه چند کد sql


arastooms

سوال

دوستان میشه راهنمایی کنید این کد ها چه هکار میکنه دقیقا!!!
و معنیش چی 
مرسی و سپاس


cur.Close 
sqlmain.BeginTransaction 
sqlmain.TransactionSuccessful 
sqlmain.EndTransaction 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

3 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

 

سلام ارسطو 

ببین

کد اول که یه متغیر از نوع cursor رو میبنده تا فضای مصرفی متغیر برگرده به رم گوشی

این از این

 

خوب

sqlmain.BeginTransaction

رو زمانی استفاده میکنیم که مثلا میگیم 20 تا دستور اینسرت یا اپدیت داریم، اگر همه ی این دستورات اجرا شدن به درستی که هیچ، اگه اجرا نشن، همه ی دستورات قبلی هم که بعد از sqlmain.BeginTransaction بودن، اثرشون از بین میره

چیز دیگه اینه که بعد از قرار گرفتن تمامی شرط ها، باید عبارت sqlmain.TransactionSuccessful  رو بنویسی

 

بسیار بسیار مهمه که sqlmain.EndTransaction در پایان کار قرار بدی

چون اگر قرار ندی، تمامی دستورات کاربر که بعد از شروع بود، ذخیره میشن اما به محض بوجود اومدن کوچیک ترین مشکل، همه از بین میرن

کد زیر یه مثاله

sqlmain.BeginTransaction


try
for i = 0 to 100
sqlmainexenonquery("UPDATE tbl SET ADAD = '"&i&"'")
next

sqlmain.TransactionSuccessful
catch
msgbox(LastExeption.Message,"")
end try


sqlmain.EndTransaction

سلام و درود به شهاب عزیز که با صبر و حوصله تمام و به بهترین نحو توضیحات رو برای دوستانی مثل من مینویسه :gol:  :gol:  :gol:  :gol: 

اما در باره این

"کد اول که یه متغیر از نوع cursor رو میبنده تا فضای مصرفی متغیر برگرده به رم گوشی"

بستن کرسور میخام بیشتر بدونم چون من از کرسور های زیاد و مختلفی استفاده میکنم برای برنامم 

چه قدر رم رو اشغال میکنه و مثلا در برنامه من که 5 تا کرسور هست من اصلا از این دستور استفاده نکردم 

این چه مشکلی به وجود میاره؟؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

قربانت برادر

ببین، cur هم یه متغیر از نوع cursor هست

اونقدر ها فضا نمیگیره

استفاده های دیگه ای هم داره

مثلا میگم، اگر یه cursor رو ببندی، در ادامه اون بلاک یا در کل اون ماژول(دقیق یادم نیس) نمیتونی دیگه ازش استفاده کنی

اروری میده و میگه "کورزور قبلا بسته شده و نمیشه استفاده کرد"

 

اما از نظر فضای مصرفی، اونقدرا هم مصرف نمیکنه

:gol:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام ارسطو 

ببین

کد اول که یه متغیر از نوع cursor رو میبنده تا فضای مصرفی متغیر برگرده به رم گوشی

این از این

 

خوب

sqlmain.BeginTransaction

رو زمانی استفاده میکنیم که مثلا میگیم 20 تا دستور اینسرت یا اپدیت داریم، اگر همه ی این دستورات اجرا شدن به درستی که هیچ، اگه اجرا نشن، همه ی دستورات قبلی هم که بعد از sqlmain.BeginTransaction بودن، اثرشون از بین میره

چیز دیگه اینه که بعد از قرار گرفتن تمامی شرط ها، باید عبارت sqlmain.TransactionSuccessful  رو بنویسی

 

بسیار بسیار مهمه که sqlmain.EndTransaction در پایان کار قرار بدی

چون اگر قرار ندی، تمامی دستورات کاربر که بعد از شروع بود، ذخیره میشن اما به محض بوجود اومدن کوچیک ترین مشکل، همه از بین میرن

کد زیر یه مثاله

sqlmain.BeginTransaction


try
for i = 0 to 100
sqlmainexenonquery("UPDATE tbl SET ADAD = '"&i&"'")
next

sqlmain.TransactionSuccessful
catch
msgbox(LastExeption.Message,"")
end try


sqlmain.EndTransaction
لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...