آموزش ADO بخش چهارم

ضمن سلام , با هم نگاهی به بخش چهارم آموزش برنامه نویسی ADO میندازیم

يك واقعيت وجود داره كه دلايل استفاده ADO در ديتابيسي كه اصطلاحاًً اون رو تك فايل ميناميم شايد موارد استفاده بسیار محدودي رو در بر بگيره ( برنامه ای که تنها مشتمل بر یک فایل هستش )

قاعدتاً خواستگاه اصلي اين مدل برنامه نويسي , در مدلهاي FrontEnd/BackEnd هستش كه در ادامه با تمركز بيشتر بر روي اون به پيش ميريم

متاسفانه اين بخش از وسعت بسيار زيادي برخورداره كه در اين مقاله فرصت زماني به گونه اي هستش كه تنها امكان بررسي برخي روشها وجود داره

در ابتدا با روشي مشابه روش ارائه شده در آموزش بخش سوم , اقدام به معرفي يك متغير ميكنيم كه بتونيم اين آبجكت رو معرفي و در مواقع لزوم بارگذاري و احيا كنيم

تنها در اين نوع اتصال به يك نكته توجه داشته باشيد و اون هم تغييري هستش كه در نوع معارفه به انجام رسونديم

با توجه به اينكه در معماري FrontEnd/BackEnd و يا به نوعي همون Client/Server ممكنه به صورت همزمان چند اتصال توسط كاربراني متفاوت برقرار بشه ، از اينرو از كليد واژه New استفاده ميكنيم تا به نوعي برنامه رو مجبور به بارگذاري نسخه جديدي از متغير در حافظه سيستم کاربر كنيم

Dim remoteConnection As New ADODB.Connection

در اين مرحله فعاليت اصلي شروع ميشه

در معماري CS و يا FEBE شما نياز داريد به گونه اي يك پل ارتباطي بين بانك اطلاعاتي هدف و برنامه مقصد برقرار كنيد ، اين امر رو به واسطه يك Provider كه به نوعي كار آماده سازی و برقراري ارتباط رو به عهده داره به انجام ميرسه

Provider  هاي متفاوت و بسيار گسترده اي در اين بخش قابل اعمال هستن كه در مثال حال حاضر از  OLEDB استفاده ميكنيم

يكي از مزاياي اين Provider اينه كه به همراه خود Access نصب ميشه و شما دغدغه اي در خصوص وجود و يا عدم وجود اون بر روی سیستم نهایی کاربر نداريد

پس از تعيين نوع Provider , شما بايد اقدام به معرفي مسير ديتابيس هدف كنيد ، كه اين كار رو بايد به واسطه متد Open به انجام برسونيد ( توجه كنيد در مثال قبلي اين بخش به صورت خودكار به انجام ميرسيد )

نگاهي به مثال زير كنيد و مطالب درج شده فوق رو در داخل اون مورد واكاوي قرار بديد

 

Private Sub cmdConnectToRemoteDB_Click()

On Error GoTo ConnectionError

Dim remoteConnection As New ADODB.Connection

With remoteConnection

.Provider = Microsoft.Jet.OLEDB.4.0

.Open Database Address Here ، For Example : C:\Sample.mdb

End With

MsgBox Remote connection successfully established.

remoteConnection.Close

Exit Sub

ConnectionError:

MsgBox There was an error connecting to the database. & Chr(13) _

& Err.Number & , & Err.Description

End Sub

در مثال فوق به دیتابیس فرضی Sample.mdb واقع در ریشه درایو C متصل شدیم

دقت كنيد هر اتصال / Connection  پس از انجام عمليات مد نظر شما بايد بسته بشه كه اين امر توسط دستور Close به انجام رسيده

از ساختار With/End With به جهت خلاصه سازي دستور استفاده شده

در فرصتی دیگه و بنا به نیاز در خصوص Provider توضيحات بيشتري ارائه خواهد شد

توضیح : در حال حاضر تنها با مسائل تئوریک آشنا میشیم و نیازی به ارائه مثال وجود نداره

موفق باشید

آموزش ADO بخش سوم

سلام

بخشی دیگه از آموزش برنامه نویسی ADO رو در پیش میگیریم

توجه : در تمامي مراحل اين توجه رو داشته باشيد از آنجايي كه دستورات ADO بر مبناي كتابخانه ADO  نوشته ميشن ، به همين جهت از در انتخاب بودن كتابخانه Microsoft ActiveX Data Objects X.X Library اطمينان حاصل كنيد

Tools > References

X.X اشاره به نسخه مورد نظر از كتابخانه مورد استفاده داره .

قبل از اينكه شما به كمك ADO بتونيد اقدام به كار با اطلاعات كنيد لازمه كه در ابتدا اقدام به استقرار و برپايي يك ارتباط با ديتابيس مورد نظر داشته باشيد

همونطوري كه در قبل هم گفته شد ، شما اين كار رو به كمك آبجكت Connection به انجام ميرسونيد

از اونجا كه ADO قابليت اتصال به ديتا بيس كنوني ( ديتابيسي كه در حال حاضر در داخل اون هستيم ) و يا اتصال به ديتابيسهاي راه دور رو داره به همين جهت برخي مثالها در هر دو حالت مورد بررسي قرار ميگيرن

توضيح : اتصال راه دور رو به جايگريني اصطلاح Remote Connection به كار برديم ، در اين گونه اتصال فرض رو بر اين قرار ميديم كه شما به ديتابيسي غير از ديتا بيس جاري متصل ميشيد

در مثال اول نگاهي به نحوه اتصال به ديتابيسي كه در داخل اون هستيد و یا همون دیتابیس جاری ميندازيم تا با كليات اين نوع اتصال آشنا بشيد

در ابتدا اقدام به معرفي يك متغير ميكنيم كه بتونيم اين آبجكت رو معرفي و در مواقع لزوم بارگذاري و احيا كنيم

به كتابخونه ADODB وصل ميشيم و از داخل اون آبجكت Connection رو انتخاب ميكنيم پس متغیر رو معرفی میکنیم :

Dim localConnection As ADODB.Connection

اين دستور اقدام به معرفي يك متغير با نام localConnection و از نوع ADODB.Connection ميكنه

نام localConnection اختياري هستش و ميتونيد با توجه به نياز خودتون نام مناسبي رو انتخاب كنيد ولي نوع متغير كه ADODB.Connection هستش الزاماً بايستي به همين طريق معرفي بشه

در بخش بعدي شما نياز داريد كه توجه برنامه رو به سوي اين اتصال هدايت كنيد و آبجكت رو برپا كنيد ، از واژه كليدي Set جهت استقرار و بارگذاري آبجكت در حافظه سيستم كمك ميگيريم و آبجكت رو ايجاد ميكنيم

Set localConnection = CurrentProject.AccessConnection

به بخش دوم دستور توجه كنيد ، CurrentProject اشاره به پروژه جاري داره ، يعني همون پروژه اي كه در حال كار در داخل اون هستيم

در اينجا و در این مرحله فقط به صدور يك پيغام مبني بر موفق بودن اتصال اشاره ميكنيم

دستور كامل به صورت زير نوشته ميشه كه اون رو در داخل رويداد كليك يك دكمه پياده سازي كرديم

Private Sub cmdConnectToLocalDB_Click()

On Error GoTo ConnectionError

Dim localConnection As ADODB.Connection

Set localConnection = CurrentProject.AccessConnection

MsgBox “Local connection successfully established.”

Exit Sub

ConnectionError:

MsgBox “There was an error connecting to the database. “ & Chr(13) _

& Err.Number & “, “ & Err.Description

End Sub

کدها ممکنه در داخل ‌مرورگر به صورت به هم ریخته مشاهده بشن که با کپی به داخل برنامه به صورت صحیح به نمایش درخواهند اومد

توجه كنيد در هنگام كار با Connection ها و در مجموع هر گونه مدل برنامه نويسي ديتا بيس فرآيند Error Handler فراموش نشه ، کلیه خطاها بایستی مدیریت شده و به نحوی مناسب مورد تحلیل قرار بگیرن

عدم كنترل مناسب خطاها ميتونه منجر به بروز خطاهايي گاهاً مشكل ساز بشه

موفق باشید