انجام پایان نامه

درخواست همکاری انجام پایان نامه  بانک مقالات رایگان انجام پایان نامه

سفارش پایان نامه

|

انجام پایان نامه ارشد

 پایان نامه 

پایان نامه‏ کامپیوتر

انجام پایان نامه‏ ارشد کامپیوتر

مقدمه :

برنامه هائئ كه درزمينه   DATA  BASE   كار مي كنند به دو قسمت تقسيم  مي شوند.     يك قسمت لايه بيروني يا  USER INTERFACE (برنامه اي است كه معمولا با  برنامه هاي VISUALاي نوشته مي شود.)  قسمت ديگر خود DATABASE است كه بوسيله يكي از زبانهاي  بانكهاي اطلاعاتي (كه برپايه بانكهاي اطلاعاتي رابطه اي (RDBMS)
نوشته مي شود. قسمت اول ياAPPLICATION  به وسيله زبانVISUAL BASIC  ساخته مي شود كه وظيفه نما يش گرافيكي, زيبايي, كنترل كاربر و ارتباط با DATA BASE را بعهده مي گيرد.
اگر چه فناوري ODBC داراي اهداف بزرگ مشابهي است ليكن اجراي آن ساده نيست .بخاطر اينكه ODBCAPI براي برنامه نويسان متوسط كمي مشكل است و طوري ساخته شده است كه حتي براي برنامه نويسان پيشرفته نيز ابزار پرزحمتي به حساب مي آيد . بر مبناي ODBC ، ADO به بوجود آمد كه دسترسي به داده هاي زيادي را ايجاد خواهد نمود.RDO  براي دسترسي   به پايگاه داده از واسط ODBC  استفاده مي كند ، و DAO  از موتور  JET   داخلي خود . در حاليكه ADO   بجاي آن از OLEDB (پايگاه داده OLE   ) استفاده مي كند . OLEDB  شيئ ايست كاملاً جديد براي  اتصال به منابع داده .مي توان OLEDB را جانشين ODBC  در اتصال به منابع داده دانست .طراحي داخلي OLEDB دسترسي به منابع داده غير SQL , را نيز(به همان سهولت دسترسي به داده هاي SQL ) ممكن ساخته است .
در گذشته براي دسترسي به پايگاه هاي داده راه دور بايد از API  هايا درايورهاي ODBC  استفاده مي كرديم .در اغلب موارد يافتن درايور ODBC مناسب براي منبع داده مورد نظر امكان پذير است ،  اگر چه اين روش مشكلات خاص خود را دارد.در اين استاندارد ، درايور ODBC  بايد از زبان SQL   پشتيباني كند، و داده ها نيز بصورت جدول  ( متشكل از سطر و ستون ) سازمان داده شده باشند . اما در برخي موارد چنين ساختاري براي ذخيره كردن داده ها مناسب نيست ، بخصوص داده هايي كه داراي ساختار سلسله  مراتبي هستند ، مانند سرويس هاي دايركتوري و e-mail .
برنامه هايي مثل VISUAL BASIC , DELPHI ,  VC++ با رابطهايي چون COM, DCOM,ACTIVE X به DATA BASE وصل مي شوند.ADO‌يكي از ACTIVE X هايي است كه با DATABASE ارتباط برقرار مي كند.
در اين برنامه با اسافاده از Objectهاي ارتباط با DataBase كه در بالا توضيح داده شد به بانك اطلاعاتي SQLServer متصل شده و  با استفاده از قابليتهاي شيء ADO  براي وارد كردن اطلاعات  حسابداري ( اسناد حسابداري ، اطلاعات حسابداري  ، اطلاعات ارز ، … )  و يا براي گرفتن اطلاعات حسابداري  (  ترازهاي حساب ، گردش حساب ، نمايش اسناد ، …) با بانك اطلاعاتي ارتباط برقرار نموديم.
در كنار ابزار داخلي   VB  براي گرفتن گزارشات و نمودارهاي برنامه از برنامه  CRYSTALL REPORT 9.0  ساخت شركت آمريكايي SEGATE كه داراي جلوه هاي زيبا و قدرت بالا براي نمايش اطلاعات برنامه است استفاده شده است






                                            ابزارهاي ارتباط با DataBase

1-DCOM,COM

يك برنامه كاربردي عموما داراي يك فايل باينري است كه نمي توان در ان تغييري ايجاد كرد مگر اينكه نوع جديد ان را با نوع قبلي جايگزين  كرد. گونه) ويرژن(  بعدي  بايستي ايجاد ,خطا يابي و مجددا كامپايل  شود.در اين حالت مدت زمان ساخت و توسعه برنامه  هاي كاربردي افزايش  پيدا مي كند.  مي توانيم برنامه را به چندين  جزء منطق به  نام OOAD (OBJECT-ORIENTED تقسيم (      ANALYSIST AND DESIGN كنيم. براي  مثال مي توانيم  يك برنامه ساده  ويرايشگر را به چندين قسمت منطقي تقسيم كنيم  (  ناحيه متن، ميله ابزار،…)سپس مي توانيم درباره هرقسمت بصورت  مستقل  فكر و تصميم گيري  كرده و ارتباط هر قسمت  با  ساير  قسمتها را مشخص نماييم.هر قسمت(جزء) را ميتوانيم در برنامه اي كه به آن  نياز دارد قرار داد.  نرم افزارهايي كه  با  تركيبي از  اجزاء  ساخته شده اند COMPONENT WARE    ناميده  مي شوند.COM  در سطر بانيري قرار دارد و بر اين نكته دلالت دارد كه ميتوانند درزبانهاي مختلف نوشته شوند وباهم در ارتباط باشند.
COM يك زبان برنامه نويسي است. توسط  زبانهاي  برنامه نويسي متفاوتي مانند C++    و  Cو پاسكال و ساير  زبانها مي توان COM  ايجاد  كرد.  COM مستقل   از  زبان  ,موقعيت و كامپايلر است. ميكروسافت با توسعه COM موجب  شد كه برنامه هاي  كاربردي  انعطاف پذيري بيشتر وديناميك فراواني تري پيدا كنند. مانند اكثر محصولات ميكروسافت، ويژوال بيسيك هم از COM استفاده مي كنند . اگر چه جزئيات   COMاز ديد  برنامه نويس مخفي است.ولي ما درمورد  COM وجزئيات مرتبط با آن مطالبي رابيان خواهيم كردچرا كه COM پايه اكتيواكس را تشكيل مي دهد.
برنامه هاي كاربردي با COM با يكسري ازاستانداردهاي واسط با ساير  اجزاء درارتباط هستند.
انواع متفاوتي از واسطه هاي COM وجود دارند، تعدادي براي كنترلهاي اكتيواكس ،تعدادي براي انتقال داده، تعدادي براي  ذخيره سازي  اطلاعات و  غيره .   بيشتر واسطه هاي   بنيادي   COM ,IUNKNOWN هستند.
هر واسط COM ,IUNKNOWN بايستي شامل متعددهاي ADDREF,  QUERYINTERFACE     , وRELEASE   باشد.
ازمتعددها ADDREF, RELEASE   به منظور كنترل  طول عمر جزء COM  استفاده مي شود .  متعدد QUERY INTERFACE روشي براي پرس  و جو است. اگر يك جزء  COM عملا از واسط COM  پشتيباني  كند.  مثلا يك جزء ديگر COMنياز داشته باشد تا مشخص كند يك جزء ديگر COM  آيا از واسط كشيدن ورها كردن   حمايت مي كنديا نه .ميكروسافت با  توسعه كارايي COM ، COM+  را اخيرا  به بازار ارائه كرده است .  كارايي  COM+ علمي تراز COM است.
زمانيكه برنامه نويسان ويژوال بيسيك نتوانند بطور مستقيم با COM كار كنند  ديگر نمي توانند ازمزاياي COM+بهره مند شوند.
COMتوزيع شده(DCOM) نوع توزيع شدة COM  است. DCOMبه مفهوم اجراي،اجزايCOM   برروي يك ماشين راه دوراست درحاليكه تمام جزئيات از ديد برنامه نويس پنهان است.
همچنين DCOMداراي ويژگيهايي است كه COMاز آنها برخوردار نيست(مانندامنيت).DCOMجزء اصلي وضروري ايجاد برنامه هايEnterprise-Level   است.طريقة برقراري ارتباطات در  DCOM همانند COM است چرا كهDCOM توسعه يافته COM است.

1-1چگونه ميتوانيم از COM استفاده كرد؟
تمام اين موارد مفيد مي اشد امادربارة اينكه چگونه يك شئ COM كارمي كندوچطورآنرا ايجاد و گسترش ميكنيد توضيح نمي دهد.
تقريباً هر محصول مايكروسافت كه امروز استفاده مي شوديك مدل شي دارد كه مي تواند واسط آن با هر محصول ديگري  برپاية COM   ارتباط داشته باشد . به خاطر داشته باشيد كه  فكر كردن روي يك واسط به عنوان  ويژگي هاي  اشياء و عملكردي كه مي تواند داشته باشد تلقي مي گردد.
يك واسط عمومي واسطي است كه يك برنامه نويس كه از شيء  COM استفاده ميكند آن را انتخابكرده تا به عنوان هر سرويسي كه شما آرزوي آن را داريد دردسترس شما قرار دهد (حتي اين مي تواند از طريقWINDOWS NT  كنترل شود  ) معمولاً يك تابع براي انجام آنچه اتفاق  مي افتد
لازم ميباشدمثلاً درVBتابعي بنام CREATE OBJECT وجود دارد كه يك نمونه از كلاس مشخص   شده را ايجاد ويك رجوع به شيءرا برمي گرداند   وقتي كه برنامهُ  سرويس گيرنده با استفاده ازتابع   REATE OBJECT   يك  CLASS مي سازد   (COM-SERVERNAME.CLASSNAME  ) بااستفاده از يك اشاره گرمي تواند به تمام خواص متددهاي آن كلاس كه درسرويس دهندة COM است دسترسي پيدا كند .اين سرويس دهنده مي تواند يك تابع ساده DLL وياكل برنامه كاربردي مثل INTERNET EXPLORER,WORD,EXCELيا OUTLOOK باشد.
اينجا يك مثالي است كه ممكن است شما در يك برنامه كاربردي VB آنرا ببينيد اين تابع به منظور  راه اندازي كردن  يك برنامه روي چند كامپيوتر CLIENT-SERVER است.شما عملاً،عملكرد COMرا هنگاميكه  داده ها از يك منبع داده با استفاده ازADO   باز گردانده مي شوند  را ديده  ايد. مثال بعدنشان مي دهد كه چطور يك RECORDSET با محتواي جدولTBLUSERGROUP    از پايگاه دادة SECURITY ايجاد مي شود.
                                                AS NEW ADODB.RECORDSET  DIM OBJRECORDSET

OBJRECORDSET.OPEN "TBLUSERGROUP”,DSN=”SECURITY;UID=SA;PWD;”              
اين مثال بسيارساده است.  نياز ديگري كه بايد وجود داشته باشد اين است كه ماشين سعي در ايجاد اشيايي كند كه بتواند يك رجوع را به  كلاس و  سرويس دهنده در رجيستري آن پيدا كند . اگر اين رجوع به يك DLL  يا EXE  كه روي همان   ماشين قرار گرفته ، به عنوان يك فراخواني  برنامه كاربردي ، اشاره كند،  در اين صورت COM مي باشد ،  اگر سرويس گيرنده روي  ماشين  خودش يك نماينده پيدا كند  كه ان به ماشين ديگري اشاره داشته باشد در اين صورت يك COM   توزيع شده يا   DCOM خواهد بود  .  همانطور كه ممكن است حدس بزنيد آن چيزي  اغلب در  برنامه هاي كاربردي چند سطحي كه مي تواند روي  سرويس دهندهاي شبكه    قرارگيرد و توسط  سرويس گيرنده ها به اشتراك گذاشته شود DCOM مي باشد.
فوايد استفاده از DCOM چندين فايده مختلف در استفاده از DCOM در مقابل COM وجود دارد.
نگهداري:  در روش  DCOM   يك شئ  بر روي  سرويس دهنده قرار مي گيرد و هيچ سرويس گيرنده اي آن را به روز در نمي اورد.  هر گونه تغيير و تحول در يك  شئ كه   روي سرويس دهنده قرار دارد باعث مي شود  كه اين تغييرات بلا فاصله به تمامي سرويس گيرنده ها انتقال يابد.
2-مدل تك برنامه اي: از ديد برنامه نويس  تمام اشياء COM يكسان  است و احتياج  بكار اضافي براي توليد  DCOM نيست. تنها مسئله سازماندهي ان مي باشد. شما نيز مي توانيد در صورتي كه از نظر هزينه مقرون به صرفه باشد اجزاء را به سرويس دهنده  توزيع كنيد تا   سرويس دهي آن نيز اسانتر شود.
تابعيت انعطا ف در گسترش: اغلب اينطور به نظرمي رسد كه اشياء COM, UI-CENTRIC روي پردازش هاي سرويس گيرنده اجراء مي شوند در حاليكه سرويس دهندهاي      DATA- CENTRIC   روي شبكه اجراء مي گردند حال اگر معماري سيستم تغيير كند به موجب آن    DLLسمت سرويس گيرنده  بايد  سرويس دهنده توزيع شود  و كارهاي  خيلي كم بايد انجام گيرد اين مسئله تنها در سازماندهي مي باشد و نيازي به تغيير در كد برنامه نيست .
4-سكوهاي CROSS  :  DCOM توسط سكوهاي زير پشتيباني مي شود WINDOWS 4.0+    APPLE ACINTO, SH WINDOWS 95, SUN SOLARIS, AIX, MVS,SCO UNIXWARE,       LINUX .
ارتباط پردازشهاي CROSS در DCOM  از ميان شبكه توسط STUB ها و نماينده ها انجام ميگيرد.  هنگاميكه يك شئ   COM روي يك سرويس گيرنده در خواست مي شود  ان   رجيستري ماشين را براي وجود سرويس دهنده و كلاسها از طريق PROGID   چك مي كند.   اگر سرويس دهنده به عنوان يك جزء COM سازماندهي شده باشد روتين COM بايد يك  شئ    PROXY را روي سرويس گيرنده پيدا كند.
3-1 OLE :
يك تكنولوژي است كه به برنامه ها اجازه همكاري با يكديگر را مي دهد ( براي مثال ميتوانيم در درون برنامه WORD . از يك ليست EXEL  استفاده كنيد ، بدون انكه برنامه EXEL   را باز كرده باشيد انهم به صورت مستقيم  ) . OLE   تعدادي سرويس  شامل عمليات  كشيدن و  رها كردن   (DRAY-AND-DROP  ) و اتوماسيون را ارائه مي كند .
                                                                                               1-OPTION  EXPLICIT
2-DIM  MWORD . AS  NEW WORD. APPLICATION                                                              
3-                                                                                                                                                  
                                                                4-PRIVATE  SUB  CMD WRITE- CLICK ( )
5-CMD WRITE. ENABLED= FALSE                                                                                                                                                              6-CALL M WORD. DOCUMENTS.ADD    
7-M WORD. SELECTION. SHADING. TEXTURE= WD TEX TURE22 PT5 PRECE       
8-MWORD. SELECTION.FONT. SIZE=30                                                                             
9-CALL  MWORD . SELECTION. TYPETEXT (TXTINPUT.TEXT)                                  
                            10-CALL  MWORD .DOCUMENTS(1). SAVEAS(“D,\WORD.DOC”)
                                                                                          11-CALL  MWORD. QUIT
                                                                                                 12-END SUB                
در خط 1 ما يك شئ به نامMWORD  مي سازيم . در دكمه CMD WRITE در خط 5 ما دكمه را خاموش مي كنيم در خط 6 يك سند اضافه مي كنيم . در خط 7 رنگ پس زمينه را تغييرمي دهيم با ثابت     WD TEXTURE22 PT5 PRECENT .  در خط9   مقداري را از    TEXTBOX  به نام    TEXTINPUT  گرفته به داخل DOCUMENT  مي ريزيم و در خط 10    DOCUMENرا  ذخيره مي كنيم.


4-1 ACTIVEX
كنترل هاي اكتيواكس اجراي قابل استفاده مجدداي هستند كه به برنامه هاي  ويژوال بيسيك اضافه ميشوند.  يك  كنترل اكتيواكس تقريبا هر كاري كه  برنامه نويس  تصور كند ميتواند انجام دهد، تقويم، پردازش لغت، ويرايشگر تصوير، بازي كارت وغيره…  
كنترلهاي اكتيواكس مي توانند از ديد كاربر مخفي باشند يا در ديد كاربر قرار بگيرند. براي مثال كنترل اكتيواكس بازي كارت به طور  مشخص بايستي در ديد كاربر قرار داشته  باشد.  كنترلهاي اكتيواكس تكامل   تدريجي  كنترلهاي  OLE هستند،  برخي از كنترلها به مانند يك ميزبان براي يك كنترل ديگر به كار مي روند.
كنترل اكتيواكس ريشه در كنترلهاي OLE   و توسعه كنترلهاي   ويژوال بيسيك دارند.   كنترلهاي   VBXقبل ازكنترلهاي اكتيواكس ايجاد شده اند. كنترلهاي OLEو  VBX تكنولوژي سالهاي  پيش هستند. هزاران كنترل VBX در طي  سالهاي گذشته ايجاد شدهاند.   تعدادي از اين كنترلهاي VBX مجددا توسط كنترلهاي اكتيواكس باز نويسي شده اند .  ازكنترلهاي  VBX  نمي توان  در ويژوال بيسيك 5 يا 6 استفاده كرد.
سه نوع متفاوت از كنترلهاي اكتيواكس را مي توان  توسط  ويژوال بيسيك ايجاد كرد. كنترلهاي ايجاد شده   توسط كاربر كنترلهاي افزودني و كنترلهاي متراكم . ساخت و توسعه   كنترلهاي ايجاد شده توسط كاربربسيارمشكل است. اين كنترلها انعطاف پذيري بيشتر  درطراحي فراهم مي اورند OLEDB.
OLEDB يك دستور كار با ذكر  خصوصياتي است كه  تعريف مي كند   چگونه  دسترسي   داده مايكروسافت كار مي كند به طور خاص مشخصات OLEDB در زير امده است:
1-OLEDBبه عنوان يك رابط برنامه نويسي در سطح سيستم موجود مي باشد.   اين خصوصيت مشابه ODBC ميباشد.
2 – در حاليكه ODBC براي دسترسي به پايگاه داده اي رابطه اي ايجاد شده بود،   OLEDB براي دسترسي به هرذخيره دادهاي طراحي گرديده است.  براي مثال شما مي توانيد   آنرا براي دسترسي  به منابع رابطه اي يا غير رابطه اي كه شامل MAIN FRAME, ISAM/RSAM  و  پايگاه  داده هاي سلسله مراتبي مي باشند بكار ببريد. همچنين مي توان به سيستمهاي ذخيره فايلي كه  كمتر نستي هستند از قبيل سيستمهاي پست الكترونيكي و سيستمهاي  فايل كه  داده هاي   متني و گرافيكي و غيره را ذخيره مي كنند دسترسي داشته باشد.
3-OLEDB  يك مجموعه اي از رابطهاي COM را تعريف ميكند كه سرويسهاي سيستم مديريت پايگاه دادهاي ختلف را كپسوله مي كند.
5-1ADO
ADO يك مجموعه اشياء COM  مي باشد كه همانند مصرف كننده روي دادهOLEDB عمل مي نمايد. ADO  رابطهاي OLEDB سرويسهاي مديريت دسترسي به داده هاي ديگررا ديگر در سطح سيستم مديريت مي كند، در صورتيكه سطح كاربردي كه از رابطهايOLEDB زبدست آمده اند را نمايش مي دهد. ADO يك مدل برنامه نويسي پايگاه داده ميباشد كه به برنامه نويسان    اجازه نوشتن برنامه هاي كاربردي روي داده هاي OLEDB به هر زباني ازقبيل JAVA SCRIPT    VB, JAVA,VBSCRIPT, وC/C++  را مي دهد.هر شئ در يك هدف  واحد و مجموعه  خواص غير پيچيده متدها و رخدادها را دارا مي شود اگر چه اين اشياء پيچيده نمي باشند ولي بسيار قدرتمند هستند.
شكل 1-1 بر خلاف DAO,RDO ، ADO براي دسترسي به يك منبع داده وابسته به ODBC نيست.


از زمان انتشار انها در سال 1997 مدل ADO تغييرات زيادي نكرده است،  اما با هر نسخه جديد مايكروسافت هر يك از اشياء را به وسيله  اضافه كردن  متدها و خصوصيات جديد و به  وسيله به وجود اوردن واسطه ها توانا تر وكارا تر نموده است.

شكل 2-1 مدل شئ ADO يك ساختار ساده و قدرتمند سلسله مراتب جهت دسترسي به داده مي باشد

اينك نظري به مدل شئ ADO و هدف از هر شئ مي پردازيم.همانطور كه در شكل 2-1مي بينيد، مدل شئ بسيار ساده مي باشد  و فقط تعداد  معدودي اشياء اصلي  وجود دارند.  اشياء   در يك مجموعه  شئ محض  بصورت  سلسله  مراتبي  پياده سازي    گرديده اند.    بالاترين  شئ CONNECTION است كه    شامل مجموعه ERRORS  مي باشد كه هر يك شامل اشياءERROR  مي گردند. همچنين CONNECTION  شامل شئ    COMMAND نيز مي گردد  كه هر يك از آنها  يك مجموعهP ARAMETER را كه شامل اشياء PA RAMETER مي باشد  دارا هستند.
همچنين شئ CONNECTION شامل FIELD  اشياء RECORDSET نيز مي گردد كه هريك از آنها يك مجموعه FIELDS در خود جاي مي دهند كه شامل اشياء مي باشند.
مدل شئ  ADO همچنين  يك مجموعه از  خصوصيات را كه  متعلق به اشياء      CONNECTION COMMAND, RECORDESTوFIELD   مي باشند  شامل مي گردد،   خصوصيات مجموعه ها  و خواص اشياء در فصلهاي بعد شرح داده مي شوند.

       ADO -2
1-2-شئ CONNECTION
شئ CONNECTION يك هدف اصلي دارد كه  عبارت است  از اينكه توانايي برقراري ارتباط با يك منبع  داده رابراي  شما  فراهم مي سازد .  يك شئ   CONNECTION  يك  جلسه يكتا  ( يك رابط OLEDB مشخص) را با يك  منبع داده ارائه مي نمايد.توسط شئCONNECTION   شما مي توانيد به منابع داده ساده از قبيل فايلها روي سرويس دهنده يا روي منابع بيشتري مانند سيستم RDBMS پيدا نماييد.   شئ CONNECTION  مجموعه اي عملكرد جزئي  را به كمك  تعداد كمي مجموعه ، خصوصيات و متدها پشتيباني مي كند. اكنون خواهيد ديدشئ  CONNECTION براي شما بعنوان يك برنامه نويس شامل مزايايي به شرح زير مي باشد :
به شما اجازه مي ذهد كه يك اتصال به يك منبع داده با متد OPEN برقرار نماييد.
براي منابع داده SQL  كه يك فراهم كننده OLEDB  ندارد ارتباط ها مي توانند با استفاده از فراهم كننده OLEDB  - ODBC  براي برقرار شوند. براي منابع داده SQL و غير SQL كه يك فراهم كننده    OLEDBخاص را دارا مي باشند نيز ارتباط ميتواند با استفاده از فراهم كننده آن منبع داده برقرار گردد.
به شما اجازه اجراي عبارت يا رويه ذخيره شده SQL را با متد  EXECUTE مي دهد.
  ـ به شما اجازه كار كردن روي تراكنشها را جهت بروز رساني داده از طريق استفاده ازمتدهاي تراكنش    COMMIT,    ROLLBACKTRANS, BEGINTRANS,TRANS ميدهد.
در كد مثال زير ، يك متد  OPEN يك اتصال به   پايگاه داده سرويس دهنده  SQL  از طريق يكODBC DSN را برقرار مي نمايد.
              Sub ConnectionExample()                                                                                                        
  Dim objconn As ADODB.Connection                                                                                      
  Set objconn = New ADOBDB.Connection                                                                              
                                                                                                  '’open a connection
                                                               “,” ” objconn.Open 'DSN="ADOBook","sa
                                                                  'find out if the attempt to connect worked
                                                                          If objconn.state = adstateopen Then
                                                                                'connection succceded
                                                                                                                      Else
                                                              ' connection failed_handle appropriately
                                                                                                                    End If
                                                                         'close the connection and destroy it
                                                                                                        objconn.Close
                                                                                            Set objconn = Nothing
  End Sub                                                                                                                                         
برقراري ارتباط
مراحل زير در هنگام ايجاد ارتباط شروع مي شوند.
1-اتصال به يك منبع داده اي: به يك منبع داده اي با استفاده ازفراهم كنندة مناسب متصل شويد.
2-اجراي اختياري يك فرمان: مي توان با استفاده از پارامترها و يا بدون استفاده از آنها فرماني را براي برگرداندن تعدادي سطر از جدول و يا به روزرساني آنها صادركنيد.
3-بطور اختياري ايجاد يك مجموعه ركورد(مكان نما).
شئ CONNECTION به ما اجازه ميدهد كه يك اتصال فيزيكي را به منبع داده اي بوسيلة استفاده از واسطهايOLE DB ،جهت ايجاد جلسة OLE DB برقرار كنيد.  وقتي ما  از شئ اتصال  استفاده  مي كنيد، دائماً  از يك فراهم كننده داده  براي منبع داده اي  كه ما سعي در دستيابي  به آن داريم
استفاده مي كنيم. فراهم كنندة داده برنامه ها و واسطهاي كامپايل شده اي  مي باشند كه  چگونگي مديريت منبع داه را ميدا نند.وقتي كه ADO براي اولين بار ارائه شد تعداد بسيار كمي فراهم كننده وجود داشت،كه اولين آنها ICROSOFT OLE DB براي ODBC بود(MSDASQL) .  اين  فراهمكننده از واسطهاي OLE DB روي ODBC  جهت دستيابي  به  منابع  داده اي مورد قبول ODBC .
استفاده مي كرد.در حال حاضر بعضي از اين فراهم كننده ها عبارتند از:
 ‍Provider for ODBC                                                                                    Microsoft OLE DB
Provider for Microsoft  jet                                                                          Microsoft OLE DB
Provider for  Microsoft Index Server                                                         Microsoft OLE DB
Provider for Oracle                                                                                     Microsoft OLE DB
Provider for  Active Directory Server                                                        Microsoft OLE DB
Text Provider                                                                                              Microsoft OLE DB
2-2- ارتباطهايي بر پايه DSN
در مثال بعدي يك اتصالي كه از فراهم كنندة MSDASQL و يك DSN   شرح داده مي شود .    يك سيستم DSN در بخشODBC ايجاد مي شود و اطلاعات اصلي مربوط به برقراري ارتباط با بانك اطلاعات را تعريف و ذخيره مي كند .
  Public Sub OpenWithDSN                                                                                                         
  Dim objcnn As New ADODB.Connection                                                                     
                                                             Dim objrst As New ADOBDB.Connection
 
                                                                         objcnn.ConnectionTimeout = 30
                                                                           objcnn.CommandTimeout = 30
                                                                              objcnn.Provider = "msdasql”
                                                                        objcnn.Open "DSN=ADOBook”                                                                'add code to create a recordset from execute method’
  Set objrst = objcnn.Execute("select * from customers “)                                             
 
                                                                    'close the connection and destroy it
                                                                                                    objcnn.Close
                                                                                        Set objcnn = Nothing
 
End Sub                                                                                                                                   
3-2 تعريف متغيرهاي شئ
در مثال بعدي يك متغير شئ اتصال،objcnn تعريف و يك نمونه از آن ايجاد شده است.
Dim objcnn as ADODB.Connection                                                                                       
Set objcnn =NEW ADODB.Connection                                                                                 
در كد بالا كتابخانه CONNECTION در ADO بصورت Early Binding مورد استفاده قرارگرفته  است.    Early Binding ضرورتاً به اين معناست كه واسط يك جزء COM مي تواند در زمان طراحي رجوع شود.
مقداردهي خاصيتها قبل از باز شدن اتصال قبل از اينكه يك اتصال برقرار كنيم ،ما مي توانيم خصوصياتي را كه  رفتار شئ CONNECTION را كنترل مكند مقداردهي كنيم كه اين خصوصيات شامل CommandTimeout, Connection Timeout  فراهم كننده ميباشد.
ConnectionTimeout
مدت زماني را كه يك برنامه كاربردي منتظر مي ماند و سعي در برقراري اتصال به  منبع داده  از زماني كه متدد OPEN صادر شده است مي كند را معين مي كند.   لازم نيست  ما اين مشخصه را مقداردهي نماييم چون بصورت پيش فرض مقدار اوليه 15 ميلي ثانيه به آن داده شده است.

CommandTimeout
زمان تعيين شده براي اجراي دستورات را با شئ اتصال متد Execute اداره كنيد.  همچنين شئ ADO Command يك متد Execute و هم يك مشخصة CommandTimeout مخصوص خود دارد.
مقدار پيش فرض CommandTimeout ،30ميلي ثانيه است.
Provider
ما ميتوانيم مقدار اين خاصيت را قبل از برقراري يك ارتباط مقداردهي نماييم.اگرما قصد استفاده از فراهم كننده MSDASQL  را داريم  مقدارهي اين مشخصه ارزش زيادي ندارد  زيرا اين فراهم كننده ديگري استفاده نشده باشد استفاده ميشود همچنين فراهم كننده ميتواند در آرگومانهاي متدOPEN نيز مشخص شود.
استفاده از متد OPEN
ما متد OPEN جهت برقراري ارتباط استفاده ميشود.
Object.open [Connectionstring as string],[userID as string],[password as string],[options as long=-1]
مشخص كردن CONNECTION STRING
هريك از آرگومانهايي كه اين متد مي گيرند  اختياري است.  حتي آرگومان ConnnectionString  نيز اختياري است ، چونكه ما مي توانيم مشخصه مذكور را قبل از متد open مقداردهي كنيم.
وقتي كه ما يك ارتباط را بر پايه  يك فايل، كاربر يا سيستم DSN ، باز كنيم .  مقدار رشته ارتباط همانطوريكه گفته شد  بايد به اسم DSN  اشاره كند.  ساختار DSN  براي منابع داده اي ODBC     تفاوت مي كند.
مشخص كردن PASSWORD,USERID
در اغلب حالات اين آرگومانها احتياج نمي شوندچونكه DSN ممكن است آنها را تعريف كند.
مشخص كردن Option
ما مي توانيم آرگومانهاي OPTIONS  را براي باز كردن اتصال اي كه  از يك   openoptionEnum استفاده مي كند ، بكار ببريم . بعنوان مثال اين به ما اجازة باز كردن  يك اتصال را بصورت  غيرهمزمان مي دهد.
4-2 اتصال بدون DSN
باز كردن يك اتصال  بر پايه يك فايل براي كاربر يا سيستم DSN مي تواند براي بعضي برنامه هاي كاربردي  نگهداري دشواري  باشد .اگر ما يك  برنامه كاربردي  سرويس گيرنده مي نويسيم  كه اتصالات را از ايستگاههاي كاري سرويس گيرنده باز مي كند،  DSN اي  كه به آن رجوع مي شود  بايد در هر ايستگاه كاري سرويس گيرنده موجودباشدكه اين به معني سرباز براي نصب برنامه كاربردي است . حتي جايي كه  اسكريپت  يا شئ هاي  تجاري  در يك برنامه كاربردي  تحت وب ارتباطات را بوجود آورند يك اتصال بر پايه DSN به اين معني است كهDSN بايد روي سرويس دهنده موجود  باشد.
خوشبختانه ADO همانند اجداد خود DAO,RDO امكان ايجاد   ارتباط بدون DSN  براي يك منبع داده اي ODBC را فراهم مي كند .در يك ارتباط بدون DSN,ConnectionString كه ما تعريف مي كنيم تمامي اطلاعات لازم جهت ايجاد بجز اطلاعات registery يا فايل را دارا باشد.
Public sub openWithoutDSN()   
     Dim objcnn as ADODB.Connection                                                               
Dim strconnect as string                                                                                                                       
Set objcnn=NEW ADODB.Connection                                                                              
‘set connection and command timeouts                                                                               
objcnn.connectionTimeout=30                                                                                           
objcnn.commandTimeout=30                                                                                             
‘default connection string                                                                                                strconnect=”provider=MSDASQL;Driver={sqlserver};server=DALA;UID=sa;” & _
         “DATABASE  =  ordermanager”    
objcnn.open strconnect                                                                                                   
End Sub                                                                                                                                     
برقراري ارتباط بدون DSN  براي دستيابي به  منبع داده اي ODBC هيچگونه تاثير منفي اي ندارد حتي باعث پايين آمدن سرعت اجرا هم نمي شود.
5-2 برقراري ارتباط بوسيله JET Provider
از نقطه نظر كد نويسي ،  ايجاد يك ارتباطي با استفاده از   فراهم كنندة ديگري جز MSDASQL     بسيار ساده وآسان است.اتصالي كه با يك پايگاه داده Microsoft JET باز ميشود OrderManager  ناميده مي شود  و مجموعه Fields  از Recordset معين مي شود . برنامه هاي زير  از فراهم كنندة  Microsoft OLE DB براي Microsoft JET استفاده مي كند.
Public sub userjetprovider()                                                                                                       
 
Dim objcnn As NEW ADODB.Connection                                                                          
Dim objrst As NEW ADODB.Recordset                                                                              
                                                                             
With objcnn                                                                                                                   
 .CommandTimeout=15                                                                                             
.ConnectionTimeout=15                                                                                           .Provider=”Microsoft.JET.OLEDB.3.51”                                                                
.Open "d:\book\code\Ordermanager.mdb"                                                               
End With                                                                                                                       

Objrst.Open "SELECT * FROM Customer",objcnn                                                     

DO While Not objrst.EOF                                                                                             
Debug.Print objrst(i)                                                                                              
Objrst.movenext                                                                                                     
Loop                                                                                                                             
 
Objrst.close                                                                                                                   
Set objrst=Nothing                                                                                                       
Objcnn.close                                                                                                                
Set objcnn=Nothing                                                                                                    
 
End Sub                                                                                                                             
ما مشخصه فراهم كننده را Microsoft.jet.OLE DB.3.51 قرار مي دهيم .متد Openشامل دستيابي به فايل .mdb (براي آرگومانConnectionString) و JET را  به عنوان مقدار پيش فرض رمز عبور admin براي آرگومان شناسنامه كاربري در اختيار دارد.

6-2 برقراري ارتباط بوسيلة SQL Server Provider ما مي توانيم از فراهم كنندة MSDASQL   جهت متصل شدن به يك پايگاه داده اي SQL SERVER استفاده كنيم ، اما همچنين     ميتوانيم از Microsoft SQL Server OLE DB هم استفاده كنيم. زمانيكه ما كد براي فراهم كنندة JET آزمايش مي كرديم مقدار دادن به فراهم كننده اشاره مي كند. ما هم
چنين مي توانيم با مقداردهي به آرگومان provider درConnectionstring   آن را مقداردهي كنيم . ما به SQL Server Provider مشابه SQL OLE DB رجوع مي كنيم.آرگومان Location نام سرويس دهنده را مشخص مي كند و آرگومان  data source نام پايگاه داده را بيان مي كنيم.








انجام پایان نامه

انجام پایان نامه کامپیوتر، انجام پایان نامه ارشد کامپیوتر، انجام پایان نامه، پایان نامه

برای دیدن ادامه مطلب از لینک زیر استفاده نمایید

 

سفارش پایان نامه

نقشه