TKNC
28-08-2010, 12:38
بخش اول
تاریخچه :
برای آسانتر شدن کار برنامه نویسان و یکسان کردن روش های ذخیره و بازیابی ، استاندارد ODBC پایه گذاری شد . ODBC توابع و روشهای پیچیدهای را برای اتصال به پایگاه داده و استفاده از آن را در اختیار برنامه نویسان قرار میداد . شرکت مایکروسافت مدل برنامه نویسی DAO را ارائه داد . DAO مخفف DatabaseAccessObjects میباشد . DAO بر پایه موتور Jet بود ولی با استفاده از اشیا داده ای که ارائه کرده بود اتصال به بانک و کار با آن را آسانتر کرده بود. پس از آن شرکت مایکروسافت مدل OLEDB را ارائه کرد که از ODBC پیشرفته تر بود و امکان اتصال به منابعی مانند Email و منابع غیر SQL را نیز داشت. کار کردن با توابع OLEDB بسیار سخت و پیچیده بود . بنابراین مایکروسافت ADO را که بر مبنای OLEDB است ارائه کرد . ADO مخفف ActiveX Data Object میباشد و همه امکانات OLEDB را از طریق Object ها ارائه میکند . ADO در مقابل با DAO اشیا کمتری دارد و دارای امکانات بیشتری است .
استفاده از ADO :
در این مقاله سعی شده است تا در حد ممکن مطالب به صورت خلاطه شده و مفید ارائه شود . بنابراین هدف توضیح امکانات پیشرفته ADO نیست و یا حداقل فعلا قصد آموزش مقدماتی ADO را داریم .
برای استفاده از ADO دو راه داریم . راه اول استفاده از ADODC یا استفاده از کنترل داده ADO میباشد . راه دوم استفاده از ADODB یا استفاده از توابع و اشیا ADO است . در این مقاله به دلیل انعطاف بیشتر و امکان استفاده حرفهای تر ، از روش دوم استفاده میکنیم .
اشیای ADO :
در ADO سه شی اصلی وجود دارد :
Connection : برای اتصال به بانک اطلاعاتی به کار میرود .
Recordset : رکوردست مورد نظر از یک بانک اطلاعاتی را در خود دارد .
Command : برای Stored-Procedure ها بکار میرود .
Connection یک زیر مجموعه به نام Erro دارد که خطاهای اتصال به بانک در آن قرار میگیرد . Comman هم یک زیر مجموعه به نام Paramete دارد که پارامترهای ارسالی به ProcedureStored ها را در خود دارد . Recordse یک زیر مجموعه به نام Fields دارد که بیانگر فیلدهای یک رکوردست است . همه این اشیا و زیر مجموعههای آنها دارای کلکسیونی به نام Properties هستند که خواص را در خود دارند .
برای کار با ADO در VB باید ابتدا Refrence آنرا به پروژه اضافه کنید . برای این کار با استفاده از گزینه Refrence در منوی Project پنچره Refrences را مشاهده میکنید که از لیست درون آن باید گزینه Microsoft Activex Data Objects را انتخاب کنید .
شی connection :
اولین شی که در کار با بانک اطلاعاتی به آن نیازمندیم شی connection میباشد . این شی یک اتصال بین برنامه شما و بانک اطلاعاتی برقرار میکند . برای اینکه از شی connection در برنامه استفاده کنیم باید نمونهای از آن را ایجاد کنیم .
Dim cnn As New ADODB.Connection
با استفاده از متد open اتصال شی connection را با پایگاه داده برقرار میکنیم . در اینجا ذکر یک نیکته لازم است و آن انعطاف پذیری بیش از حد اشیا داده ADO است به نحویکه برای استفاده از امکانات آن راههای متنوعی وجود دارد . در اینجا در مورد متد open دو روش را مثال خواهیم زد اما در قسمتهای دیگر به ذکر یک روش اکتفا خواهیم کرد که لزوما بهترین روش نیست .
حال کلی متد open به صورت زیر است :
connection. Open ConnectionString,UserID,Password,Options
در این متد مهمترین پارامتر آن ConnectionString است . حالت کلی ConnectionString به صورت زیر است :
Provider=<Provider Name> ;Data Source=<Source>
اگر با ADO نسخه 2.0 و یا 2.1 کار میکنید از Provider Name زیر برای اتصال به بانک اطلاعاتی اکسس استفاده کنید .
Provider=Microsoft.Jet.OLEDB.3.51
و اگر از نسخه 2.5 و بالاتر استفاده میکنید رشته زیر را بکار ببرید :
Provider=Microsoft.Jet.OLEDB.4.0
رشته زیر به عنوان ConnectionString برای اتصال به یک بانک اطلاعاتی اکسس به نام test.mdb بکار میرود .
Provider=Microsoft.Jet.OLEDB.3.51 ;Data Source=c:\test.mdb
لیست ProviderName برای Provider های مختلف به شرح زیر است .
Provider=SQLOLEDB;DataSource=serverName;"InitialCatalog=databaseName; SQLServer
User ID=userName;Password=userPassword;
Provider=MSDAORA;Data Source=serverName;User ID=userName; Oracle
Password=userPassword;
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User Microsoft Jet
ID=userName;Password=userPassword;
Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=user Password; ODBC
جزئیات بیشتر درباره هرکدام از پارامترهای آن را میتوانید در MSDN بیابید .
تاریخچه :
برای آسانتر شدن کار برنامه نویسان و یکسان کردن روش های ذخیره و بازیابی ، استاندارد ODBC پایه گذاری شد . ODBC توابع و روشهای پیچیدهای را برای اتصال به پایگاه داده و استفاده از آن را در اختیار برنامه نویسان قرار میداد . شرکت مایکروسافت مدل برنامه نویسی DAO را ارائه داد . DAO مخفف DatabaseAccessObjects میباشد . DAO بر پایه موتور Jet بود ولی با استفاده از اشیا داده ای که ارائه کرده بود اتصال به بانک و کار با آن را آسانتر کرده بود. پس از آن شرکت مایکروسافت مدل OLEDB را ارائه کرد که از ODBC پیشرفته تر بود و امکان اتصال به منابعی مانند Email و منابع غیر SQL را نیز داشت. کار کردن با توابع OLEDB بسیار سخت و پیچیده بود . بنابراین مایکروسافت ADO را که بر مبنای OLEDB است ارائه کرد . ADO مخفف ActiveX Data Object میباشد و همه امکانات OLEDB را از طریق Object ها ارائه میکند . ADO در مقابل با DAO اشیا کمتری دارد و دارای امکانات بیشتری است .
استفاده از ADO :
در این مقاله سعی شده است تا در حد ممکن مطالب به صورت خلاطه شده و مفید ارائه شود . بنابراین هدف توضیح امکانات پیشرفته ADO نیست و یا حداقل فعلا قصد آموزش مقدماتی ADO را داریم .
برای استفاده از ADO دو راه داریم . راه اول استفاده از ADODC یا استفاده از کنترل داده ADO میباشد . راه دوم استفاده از ADODB یا استفاده از توابع و اشیا ADO است . در این مقاله به دلیل انعطاف بیشتر و امکان استفاده حرفهای تر ، از روش دوم استفاده میکنیم .
اشیای ADO :
در ADO سه شی اصلی وجود دارد :
Connection : برای اتصال به بانک اطلاعاتی به کار میرود .
Recordset : رکوردست مورد نظر از یک بانک اطلاعاتی را در خود دارد .
Command : برای Stored-Procedure ها بکار میرود .
Connection یک زیر مجموعه به نام Erro دارد که خطاهای اتصال به بانک در آن قرار میگیرد . Comman هم یک زیر مجموعه به نام Paramete دارد که پارامترهای ارسالی به ProcedureStored ها را در خود دارد . Recordse یک زیر مجموعه به نام Fields دارد که بیانگر فیلدهای یک رکوردست است . همه این اشیا و زیر مجموعههای آنها دارای کلکسیونی به نام Properties هستند که خواص را در خود دارند .
برای کار با ADO در VB باید ابتدا Refrence آنرا به پروژه اضافه کنید . برای این کار با استفاده از گزینه Refrence در منوی Project پنچره Refrences را مشاهده میکنید که از لیست درون آن باید گزینه Microsoft Activex Data Objects را انتخاب کنید .
شی connection :
اولین شی که در کار با بانک اطلاعاتی به آن نیازمندیم شی connection میباشد . این شی یک اتصال بین برنامه شما و بانک اطلاعاتی برقرار میکند . برای اینکه از شی connection در برنامه استفاده کنیم باید نمونهای از آن را ایجاد کنیم .
Dim cnn As New ADODB.Connection
با استفاده از متد open اتصال شی connection را با پایگاه داده برقرار میکنیم . در اینجا ذکر یک نیکته لازم است و آن انعطاف پذیری بیش از حد اشیا داده ADO است به نحویکه برای استفاده از امکانات آن راههای متنوعی وجود دارد . در اینجا در مورد متد open دو روش را مثال خواهیم زد اما در قسمتهای دیگر به ذکر یک روش اکتفا خواهیم کرد که لزوما بهترین روش نیست .
حال کلی متد open به صورت زیر است :
connection. Open ConnectionString,UserID,Password,Options
در این متد مهمترین پارامتر آن ConnectionString است . حالت کلی ConnectionString به صورت زیر است :
Provider=<Provider Name> ;Data Source=<Source>
اگر با ADO نسخه 2.0 و یا 2.1 کار میکنید از Provider Name زیر برای اتصال به بانک اطلاعاتی اکسس استفاده کنید .
Provider=Microsoft.Jet.OLEDB.3.51
و اگر از نسخه 2.5 و بالاتر استفاده میکنید رشته زیر را بکار ببرید :
Provider=Microsoft.Jet.OLEDB.4.0
رشته زیر به عنوان ConnectionString برای اتصال به یک بانک اطلاعاتی اکسس به نام test.mdb بکار میرود .
Provider=Microsoft.Jet.OLEDB.3.51 ;Data Source=c:\test.mdb
لیست ProviderName برای Provider های مختلف به شرح زیر است .
Provider=SQLOLEDB;DataSource=serverName;"InitialCatalog=databaseName; SQLServer
User ID=userName;Password=userPassword;
Provider=MSDAORA;Data Source=serverName;User ID=userName; Oracle
Password=userPassword;
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=databaseName;User Microsoft Jet
ID=userName;Password=userPassword;
Provider=MSDASQL;DSN=dsnName;UID=userName;PWD=user Password; ODBC
جزئیات بیشتر درباره هرکدام از پارامترهای آن را میتوانید در MSDN بیابید .