اشیا
ء داده Activex ( ADO )
» از
آنجایی که دسترسی سریع به رکوردهای یک منبع داده و استخراج آنها برای برنامه نویسان
پایگاه داده یک نیاز ضروری احساس می
شد ، مدل اشیاء داده ADO به وجود آمد .
» مدل
ADO از سایر مدل های پایگاه داده مانند DAO و RDO ( اشیاء داده راه دور ) کوچکتر است . و یا به عبارتی ADO کوچک شده مدل RDO است . با استفاده از ADO میتوان سریعا رکوردست ها را ایجاد کرد ، حتی میتوان پس از ایجاد
رکوردست اتصال پایگاه داده را قطع کرده و پس از ایجاد تغییرات لازم در آن ، مجددا
به پایگاه داده متصل شده و رکوردست تغییر یافته را به آن ارسال کرد
.
» یکی از
مهمترین تفاوت های ADO و RDO در این است که ADO برای کار با داده ها به جای ODBC از واسط OLEDB استفاده می کند و به همین دلیل می تواند دارای انعطاف پذیری بیشتری
باشد و به منابع داده غیر SQL نظیر E
Mail و AS400 و حتی سرویسهای دایرکتوری شبکه دسترسی داشته باشد .
» مدل
ADO بسیار کوچک است و تنها دارای سه شیء اصلی میباشد :
1
) شیء
ConnectionString ، که همان اتصال به پایگاه داده است .
2
) شیء
Command ، که برای اجرای جستجو به کار می رود .
3
) شیء
RecordSet ، که همان رکوردست خروجی جستجوی Command است .
_ هر
کدام از این اشیاء دارای زیر مجموعه ای برای خود هستند که توضیح همه آنه در این
مبحث نمی گنجد .
»
خواص ADO :
مدل
ADO دارای تعدادی خواص منحصر به فرد است که در مدل های DAO و RDO وجود ندارند . این خواص نحوه ایجاد DataSet ، جابه جایی اشاره گر در رکوردست و حقوق دسترسی در اتصال را تعیین
می کنند :
>
ConnectionString
CommandText
<
CommandType
<
CursorLocation
<
CursorType
<
> LockType
>
ModeType
»
رشته اتصال (
ConnectionString ): در مدل
ADO برای مشخص کردن ارائه کننده OLEDB اتصال منبع داده و نیز سایر جزئیات مود نیاز ، از خاصیت
ConnectionString استفاده میشود :
Provider=
برای
مثال ایجاد ارتباط با یک پایگاه داده Access :
Provider=Microsoft.Jet.OLEDB.3.51;Data
Source=C:\Sample.mdb
اتصال به
پایگاه داده SQL
Server :
Provider=SQLOLEDB.1;Data
Source=Pibs;User ID=sa;Location=mca
»
متن فرمان (
CommandText ): این
خاصیت در ADO، جستجویی را که باید
برای استخراج داده ها اجرا
شود مشخص می کند برای مثال
:
CommandText="SELECT
* FROM Table1"
»
نوع فرمان
CommandType
) ): این
خاصیت نوع جستجو را مشخص
می کند و مقدار پیش فرض آن adCmdUnknown است . اگر بخواهیم از
دستورات SQL استفاده کنیم باید
مقدار آن را برابر با adCmdText قرار دهیم .
>
adCmdText
(1) مقدار
موجود در CommandText ، متن فرمان مورد نظر
است .
>
adCmdTable
(2) مقدار موجود
در CommandText ، نام جدولیست که جستجوی SQL
همه ستونهای آن را بر
میگرادند .
>
adCmdStoredProc
(4) مقدار موجود
در CommandText ، یک روال ذخیره شده
است .
>
adCmdUnknowm
(8) مقدار پیش
فرض است .
»
استفاده از Adodc :
کنترل
Adodc در واقع نماینده گرافیکی
برای استفاده از امکانات ADO است . شکل آن تقریبا
شبیه به کنترل Data است ولی
برای استفاده از آن ابتدا
آن را به جعبه ابزار ویژوال
بیسیک اضافه کنیم . برای
این کار شما باید از جعبه Components گزینه MicroSoft
ADO Data Control 6.0 (OLEDB) را علامت بزنید . سپس
برای استفاده آن را بر روی
فرم خود قرار داده و طبق
سلیقه خود آن را تنظیم
کنید .
_ دو
روش برای ایجاد ارتباط با
پایگاه داده با کنترل Adodc وجود دارد . یکی استفاده
از حالت انتخابی و طی چند
مرحله و دیگری استفاده
از کد نویسی که این روش بهتر
از روش اول است .
روش
اول :
ابتدا یک کنترل Adodc روی فرم خود قرار داده و از قسمت Propertiseبر روی گزینه Custom کلیک کنید تا کادر زیر ظاهر شود :
از
این کادر گزینه Build را انتخاب کنید تا
کادر زیر ظاهر گردد :
در
این کادر هم بسته به نوع
ارتباط و پایگاه داده شما
گزینه ای را انتخاب کنید.
ما گزینه Microsoft
Jet 4.0 OLE DB Provider را که نسخه جدیدتر Jet 3.51 است انتخاب می کنیم
و سپس دکمه Next را فشار می دهیم تا
برگه بعدی ظاهر گردد :
در
این قسمت هم پایگاه داده Access خود را انتخاب کنید
. برای آزمایش صحت ارتباط
می توانید از دکمه
Test
Connection استفاده کنید . سپس
برای اتمام این مرحله روی
گزینه OK کلیک کنید . تا دوباره
به کادر قبلی باز گردیم
. همانطور که مشاهده خواهید
کرد نوشته ای در مقابل جعبه
متن دکمه Build
قرار می
گیرد که این نوشته همان
متنی است که ما در حالت
کد نویسی به جای انجام این
همه مراحل استفاده می
کنیم . حال در این کادر روی
دکمهApply کلیک کنید تا برگه
های دیگر نیز فعال گردند.
سپس
برگه RecordSource را انتخاب کنید جدولهای
خود را برای رکوردست تعیین
کنیم :
اگر
در قسمت CommandType گزینه
adCmdTable رو انتخاب کنید می
تونید مستقیما جدول مورد
نظر خود را از کشوی دوم انتخاب
کنید . ولی اگر گزینه adCmdText رو انتخاب کرده باشید
باید در قسمت سوم دستور SQL
مورد نظر
خود را وارد کنید .
برای
مثال اگر در قسمت اول گزینه adCmdText را انتخاب کرده باشیم
در قسمت سوم برای نمونه
از دستور زیر می توانیم
استفاده کنیم :
SELECT * FROM Student
پس از
این کار شما بر روی دکمهApply
و سپس
روی دکمه
OK برای اتمام کار انتخاب
کنید .
» یکی
از ابزارهایی که به کنترل Adodc قدرت بیشتری می بخشد
ابزار Data Grid است که شما می توانید
از قسمت Components با علامت زدن گزینه Microsoft DataGrid
Control 6.0 (OLEDB)آنرا
به جعبه ابزار خود اضافه
کنید . این ابزار قدرتمند
به گونه ای است که حتی شما
می توانید در حالت طراحی
فیلدها ی مر بوط به آن را
تنظیم کنید .
روش
دوم :
این
روش بهترین روش در طراحی
برنامه های پایگاه داده
است چون می تواند انعطاف
بیشتری در انتخاب پایگاه
داده داشته باشد . برای مثال چند
خط برنامه زیر کار همه
مراحلی که در روش اول دنبال
کردیم را انجام می دهد :
Private
Sub
Form_Load()
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\db.mdb;"
Adodc1.CommandType
= adCmdText
Adodc1.RecordSource
= "SELECT * FROM Student"
Adodc1.Refresh
End
Sub
البته
بیشتر خصوصیات کنترل Adodc مانند کنترل Data است . یعنی دستوراتی
مانند روفتن به رکورد قبل
یا بعد همانند دستورات
مورد استفاده در کنترل Data می باشد .
» اگر
برنامه دفترچه تلفنی را
که من طراحی کرده و درقسمت
دانلودها قرار داده ام
مشاهده کرده باشید از ADO در آن استفاده کرده
ام .