پروژه نرم افزار جستجوی
اطلاعات دانشجویی
سپاس یزدان یکتا را که توفیقی در جهت کسب علم و دانش پیدا کردم ، تا بتوانم دیدگاه تازه ای درانجام پروژه های دانشجویی ارائه دهم.
دگرگونی چندی و چونی این دیدگاه در همسنگی با پروژه های پیشین ارائه شده ،چنان است که شاید بتوان گفت :این پروژه تازه ای است.
این پروژه در واقع یک پژوهش است در زمینه برنامه نویسی ،چرا که باید همه آنچه را که راجع به اشیاء و برنامه نویسی شئ گرا لازم است آموخته شود . در اینجا بخاطر اهمیت موضوع و به اتکای مروری چند روی برنامه نویسی به زبانهای مختلف توسط اینجانب ،در پروژه های دانشگاهی به تجربیاتی دست پیدا کرده ام ،لذا پیشنهادهایی را مطرح می کنم:
1_معرفی کردن چند Refrence مختلف توسط استاد و مطالعه آنها توسط دانشجویان و از اساتید خواهشمندم که منابعی را که بیشتر مربوط به پایگاه داده است معرفی کنند ؛زیرا اشیاء زبانهای برنامه نویسی بطور تجربی هم یاد گرفته خواهند شد.
2_در برنامه نویسی شئ گرا برای ایجاد ارتباط بین برنامه های ویژوا ل و پایگاه داده حتی الامکان ازایجاد آبجکت ها یADO.NET توسط برنامه نویسی خودداری کنید تا مهارت لازم را بدست آورید.
3_در تمام پروژه های دانشگاهی باید تمام مطالب مرتبط خوانده شود.
4_منظور کردن درس"پایگاه داده ها "قبل از هرگونه پروژه های برنامه نویسی مگر اینکه کاملاً ساده بوده و نیازی به بانک اطلاعاتی نداشته باشد .
5_متمایز کردن انواع پایگاه داده ها از یکدیگر و بیان تفاوتهای آن در معرفی یک نوع خاص از پایگاه دریک زبان برنامه نویسی .
6_منظور کردن درس "آموزش ADO.NET"برای تمام زبانهای .NET و پروژه ها یی که با این قبیل برنامه ها خواهد بود .
دو درس اخیر ، گذشته ازاینکه هر یک به تنهایی از اهمیت ویژه ای برخوردارند ،از جهاتی با درس برنامه نویسی شئ گرا همسنخی و همسایگی دارند .
امید اینکه این پیشنهادها به طرز درخور،مورد توجه قرار گیرد ...
اما درمورد این ویراست :
بخش اول :ADO.NET (به دلیل اینکه اصلاً در دانشگاه و واحدهای گذرانده چنین درسی مطرح نشده توضیحات بیشتری ارائه شده است.)
بخش دوم: سیستم های مدیریت بانک اطلاعاتی
بخش سوم : پروژه برنامه نویسی
محتوای بخش اول به تمامی مطالبی که لازم است پرداخته شده و در همه فصلهای این بخش ،بسیاری از مطالب حذف شده است .
در پایان :در این ویراست مطمئناً کاستیها و نادرستیهایی وجوددارد"هیچش هنر نبود و خبر نیز هم نداشت"
در اینجا به تمام کسانی که در این زمینه فعالیت هایی دارند ادای احترام کرده واگراز راهنمایی هایشان مرا بهره مند کنند ممنون می شود.
از استاد محترم جناب آقای مهندس حقگو به خاطر تلاش درارائه پروژه تشکر می کنم وهمچنین از استاد محترم جناب آقای مهندس گلی به خاطر راهنمایی و تلاش در اجرای پروژه اینجانب نیز کمال تشکر را می نمایم و رهین محبت پدر و مادرم هستم که با زحمات بی دریغ صمیمی و صبور محیط آرامی را برایم فراهم آورده و می آورند.
و دیگر اینکه : رضایت قلبی حضرت ولیعصر (عجل الله تعالی فرجه الشریف)را آرزومندم.
تهران _پاییز 1385
فهرست مطالب
فهرست مطالب...................................................................................چهار
فهرست جدولها......................................................................................پنج
بخش اول:ADO.NET
فصل اول :شروع کار با ADO.NET............................................................7
فصل دوم: ایجاد connection ها.............................................................24
فصل سوم: Data commandوData Reader ها.......................................33
فصل چهارم: DataAdapter ها...............................................................48
بخش دوم: سیستم های مدیریت بانک اطلاعاتی ............................................................53
بخش سوم: پروژه برنامه نویسی..............................................................................57
فهرست جدولها
بخش اول :ADO.NET
فصل اول :
جدول 1_:1 اشیاء و عملیات ADO.NET:....................................................13
فصل دوم:
جدول 1_2: سازنده های Connection...................................................29
جدول 2_2:خاصیت های OleDbConnection properties.....................................29
جدول 3_2:خاصیت های SqlConnection............................................................29
جدول 4_2:متدهای Connection.........................................................................31
جدول 5_2: وضعیت های connection..................................................................32
جدول 6_2:مرجع سریع فصل دوم...........................................................................32
فصل سوم:
جدول3_1: سازنده های command.......................................................................34
جدول3_2: خاصیت ها ی Data command............................................................34
جدول3_3 : مقادیر command type.....................................................................35
جدول4_3: مقادیر UpdateRowSource...............................................................35
جدول 5_3:متدهای مجموعه Parameters...............................................................40
جدول 6_3:متدهای Command ...........................................................................43
جدول 7_3:مقادیر CommandBehavior...............................................................43
جدول 8_3:خاصیت های DataReader...................................................................44
جدول9_3: متدهای Data Reader........................................................................44
جدول 10_3:متدهای GetType..............................................................................45
جدول 3_11:مرجع سریع فصل 3.............................................................................47
بخش اول
ADO.NET
فصل اول
شروع کار با ADO.NET
آنچه در این فصل ارائه خواهد شد:
* شناختن آبجکت های اصلی تشکیل دهنده Microsoft ADO.NET
* ایجاد آبجکت های connection و DataAdapter با استفاده از ویزارد DataAdapter Configuration
* ایجاد اتوماتیک یک dataset
* مرتبط کردن خاصیت های کنترلی به یک DataSet
* بارگذاری داده ها در DataSet در زمان اجرا
ابتدا:
باید بدانید که NET Data Provider . چیست؟
بمنظوراتصال به یک منبع داده ، می بایست در ابتدا یک Net Data Provider . ، انتخاب گردد . Data Provider ، کلاس های لازم بمنظور اتصال به یک منبع داده ، خواندن اطلاعات ، ویرایش ، بهنگام سازی و انجام عملیات متفاوت بر روی داده ها را ارائه می نماید . در این مقاله به تشریح انواع Data Provider پرداخته و با نحوه انتخاب مناسب آنان بمنظور استفاده در برنامه ها ، آشنا خواهیم شد .
NET Data Provider. ، یک Component کلیدی ارائه شده بهمراه معماری ADO.NET بوده که امکان ارتباط بین یک منبع داده و یک Component ، یک سرویس وب XML و یا یک برنامه را فراهم می نماید. یک NET Data Provider .، امکان اتصال به منبع داده ، بازیابی داده ها ، انجام عملیات بر روی داده ها و بهنگام سازی منبع داده را فراهم می نماید. بهمراه فریمورک دات نت ، Provider های زیر ارائه شده است :
OLE DB .NET Data Provider
SQL Server .NET Data Provider
در آینده برای سایر منابع داده ، NET Data Provider . مربوطه ایجاد و در دسترس عموم برنامه نویسان قرار خواهد گرفت. هر Provider ، مسئولیت پیاده سازی کلاس های عمومی ADO.NET را برعهده خواهد داشت . دستاورد رویکرد فوق ، ارتباط با منابع داده متفاوت با استفاده از یک روش یکسان از طریق محیط های برنامه نویسی خواهد بود .
کلاس های NET Data Provider .
ADO.NET ، از NET Data Provider. ، بمنظور ارتباط به منبع داده ، بازیابی ، عملیات برروی داده ها و بهنگام سازی منبع داده استفاده می نماید . هر Provider ، بگونه ای طراحی می گردد که دارای حجم اندکی بوده و یک لایه حداقل بین کد های نوشته شده و منبع داده را ایجاد نمایند . ( افزایش کارائی بدون قربانی نمودن پتانسیل ها).Net Framework دارای دو Data Provider است:
SQL Server .NET
OLE DB .NET
مقدمه ای برADO.NET:
همان طور که می دانید ،بانک اطلاعاتی همان فایل های کامپیوتری است که برنامه کاربردی با استفاده از سیستم مدیریت بانک اطلاعاتی آن را پردازش می کند.اما برای اینکه برنامه کاربردی با سیستم مدیریت بانک اطلاعاتی ارتباط برقرار کند،نیاز به یک واسط نرم افزاری دارد. یکی از این واسط های نرم افزاری ADO.NET است. به عبارت دیگر ،در زبان ویژوال بیسیک نت برای برقراری ارتباط با سیستم مدیریت بانک اطلاعاتی از فناوری ADO.NET استفاده می شود.توجه داشته باشید که فناوری ADO کاملاً با فناوری ADO.NET متفاوت است، زیرا الگوی کاملاً جدیدی برای دستیابی به بانک اطلاعاتی است.
ADO.NET امکان ارتباط با بانک اطلاعاتی رابطه ای و سایر منابع داده ها را فراهم می کند .به عبارت دیگر ، ADO.NET فناوری است که برنامه های کاربردی ویژوال بیسیک نت ازآن برای ارتباط با بانک اطلاعاتی استفاده می کند.به این ترتیب این برنامه ها می توانند رکورد هایی را به بانک اطلاعاتی اضافه کنند،رکوردهایی را حذف یا ویرایش کنند. ADO.NET برای برنامه های کاربردی توزیعی (مثل برنامه های کاربردی وب) مفید است.
یکی از ویژگی های مهم ADO.NET این است که بی اتصال است.این ویژگی تفاوت اساسی آن با ADO است. در ADO ،برنامه های کاربردی به بانک اطلاعاتی وصل می شوند،یک Record Set ایجاد می کنند،و از اطلاعات آن برای پر کردن Data Grid یا محاسبات دیگر استفاده می کنند،سپس Record Set ، را ازبین برده اتصال را قطع می کنند.در حالی که اتصال باز است(اتصال با بانک اطلاعاتی برقرار است)،اتصال "زنده ای " با بانک اطلاعاتی وجود دارد که می توانید آن را فوراً به هنگام سازی کنید و گاهی تغییرات حاصل ازکاربران دیگران را بلافاصله مشاهده کنید. در یک برنامه نه چندان خوب ،اتصال بانک اطلاعاتی ممکن است در حین انجام کارهای دیگر ،باز نگهداشته شود . معنایش این است که منابع مهمی در حال استفاده اند و در نتیجه از تعداد کاربرانی که می توانند به بانک اطلاعاتی دستیابی داشته باشند وازبرنامه های کاربردی ویژوال بیسیک نت استفاده کنند،کاسته می شود.
درADO.NET از استدلال کاملاً متفاوتی استفاده می کند. وقتی درADO.NET با بانک اطلاعاتی ارتباط برقرار می کنید ، اطلاعاتی که از بانک اطلاعاتی دریافت می کنید دریک Dataset قرار می گیرد اگر اطلاعات موجود در Dataset را تغییر دهید ، اطلاعات موجود در جدول متناظر با بانک اطلاعاتی تغییر نمی کند. معنایش این است که بدون نگرانی می توانید مقادیر موجود در Dataset را دستکاری کنید ،زیرا از اتصال زنده استفاده نمی شود .در صورت نیاز ، Dataset می تواند با منبع داده اصلی اتصال برقرار کند و تمام تغییرات را اعمال نماید.
ADO.NET مثل دیگر اجزای .NET Framework از مجموعه ای از آبجت ها تشکیل شده است که برای ارائه دادن عملکرد مورد نیاز،با هم ارتباط برقرار می کنند.متأسفانه،این امر می تواند یادگیری مدل آبجکت را دلسرد کننده کند_شما احساس می کنید که نیاز دارید همه ی آنها را یادبگیرید قبل از آنکه بتوانید یکی از آنها رادرک کنید. (شکل زیر توضیحی بر اجزای Framework است.)
راه حل این مشکل این است که با ایجاد یک چهار چوب مفهومی،کار را شروع کنیم.به عبارت دیگر ،قبل از اینکه سعی کنید جزئیات کارکرد هر آبجکت را یاد بگیرید ،باید درک کلی از اینکه هر آبجکت چهکاری انجام می دهد و چگونگی ارتباط آبجکت ها را بدست آورید. این همان چیزی است که ما در این فصل انجام می دهیم.ما با نگاه به آبجکت های اصلی ADO.NET و اینکه چگونه این آبجکت ها ،با هم کار می کنند تا داده هارا از یک منبع داده فیزیکی بگیرند، به کاربر بدهند و دوباره به منبع داده بدهند، کارمان را شروع می کنیم. بعد، یک مجموعه از آبجکت ها را می سازیم و آنها را به یک data form ساده، ارتباط می دهیم.
همه چیز در مورد پایه های ارتباط :
در قسمت های بعدی این فصل ،هر آبجکت را به تشریح توضیح خواهیم داد.
هر کجا که لازم باشد از یک متد یا خاصیت properties) ) استفاده کنیم که تاکنون مورد بررسی قرار نداده _ایم در انتهای پاراگراف برای راهنمایی خوانندگان استفاده می کنم.
استاندارد اتصال پایگاه داده باز:
ODBC = Open DataBase Connectivity
این استاندارد راهی برای ارتباط برنامه کاربردی با سرویس دهنده پایگاه داده فراهم می کند.ODBC واسط برنامه کاربردی API را تعریف می کند که برنامه کاربردی با استفاده از آن می تواند پایگاه داده را باز کند،تقاضاها یا بهنگام سازی ها را اجرا نماید،و نتایج را دریافت کند.
کاربردهایی مثل واسط های گرافیکی کاربر ، بسته های آماری و صفحات گسترده با استفاده از ODBC API می توانند به هر سرویس دهنده ی پایگاه داده ای که از ODBC پشتیبانی می کند،متصل شوند.
هر کدام از سیستم ها ی پایگاه داده که از ODBC پشتیبانی می کند،کتابخانه ای دارند که باید با برنامه مشتری پیوند داده شود. وقتی برنامه مشتری ODBC API را فراخوانی می کند ،کد موجود در کتابخانه با سرویس دهنده ارتباط برقرار می کند تا عمل درخواستی را انجام دهد و نتایج را دریافت نماید.
استاندارد های SQL ،واسط سطح تماس را تعریف می کند که مشابه با واسط ODBC است. APIهای ADO و ADO.NET جایگزین هایی برای ODBC هستند که برای زبانهایی مثل ویژوال بیسیک وC# طراحی شدند.
مدل آبجکتی ADO.NET
شکل زیر ،نمای ساده ای از آبجکت های اصلی مدل آبجکتی ADO.NET را نشان می دهد. البته،واقعیت کتابخانه کلاس ها، بسیار پیچیده تر است،ولی بعدأ در مورد جزئیات توضیح داده خواهد شد.حالا، فقط درک اینکه آبجکت های اولیه و اصلی کدامند و چگونه باهم ارتباط برقرار می کنند ، کافی است.
کلاسهای ADO.NET به دو عنصر (جزء) تقسیم شده اند :data Provider ها (که بعضی اوقات
Managed Provider نامیده می شود)و ارتباط با یک منبع داده فیزیکی را اداره می کنند و dataset که نشان دهنده داده های واقعی است. هر کدام از این عناصر (component) ،می توانند با مصرف کنندگان داده (data consumers) مثل web formها و winform ها ارتباط برقرار می کنند .
The ADO.NET Object Model
Data Provider ها:
عناصر data Provider،مخصوص یک منبع داده هستند. .NET Framework ،دارای دو
data provider است:
یک data provider (ارائه کننده)عمومی که می توانند با هر منبع داده OLE DB ارتباط برقرار کند و یک SQL Server Provider که برای Microsoft SQL Server نسخه های 7 و بعد از آن ،بهینه شده است.انتظار می رود که Data Provider هایی برای پایگاه داده های دیگر، مثل Oracle،DB2 نیز موجود می باشند یا شما می توانید خودتان آنها را بنویسید .
دو Data Provider موجود در .NET Framework دارای آبجکت های مشابهی هستند ،اگر چه اسم و برخی از خصوصیات و متدها،متفاوتند.مثلأ آبجکت های SQL Server Provider با sql شروع می شوند (برای مثال sqlconnection )،در حالی که آبجکت های OLEDB با oledb شروع می شوند.
(برای مثال oledbconnection ).
• آبجکت Connection :این آبحکت نماینده اتصال فیزیکی به یک منبع داده است و خصوصیات آن،Data Provider (در مورد OLEDB Data Provider)،منبع داده و پایگاهی که به آن وصل خواهد شد و رشته ای که در طی اتصال از آن استفاده می کند،را تعیین می کنند. متد های آن نیز ، ساده اند:می توانید connection را باز کنید و ببینید،پایگاه داده را تغییر دهید و تراکنش ها را مدیریت کنید .
• آبجکت command :این آبجکت نماینده یک دستور SQL یا یک رویه ذخیره شده (stored procedure) است که باید در منبع داده، اجرا شود. آبجکت های command ، می توانند ایجاد شوند و به صورت مستقل در یک آبجکت connection اجرا شوند و توسط آبجکت های dataAdapter ، برای مدیریت ارتباطات از DataSet به منبع داده ، مورد استفاده قرار می گیرند. آبجکتهای command از دستورات SQL و روالهای ذخیره شده پشتیبانی می کنند که می توانند یک مقدار ، یک یا چند رکورد را برگردانند و یا اصلاً مقداری برنگردانند.
• آبجکت DataReader :این آبجکت ،یک آبجکت سریع و با سربار کم (low_overhead) برای بدست آوردن یک جریان فقط فرستادنی (forward_only) و فقط خواندنی از داده های یک منبع داده می باشد. این آبجکت هانمی توانندمستقیماً با کد ایجاد شوند و فقط با فراخوانی متد ExacuteReader آبجکت Command ایجاد می شوند.
• آبجکت DataAdapter:این آبجکت از نظر کارکرد ،پیچیده ترین آبجکت در یک Data Provider است و پل بین یک Connection و یک DataSet است .DataAdapter دارای چهار آبجکت Command استCommand: Updateو Command select و Command Insert و Command Delete .DataAdapter از Command select برای پر کردن یک DataSet استفاده می کند و سه آبجکت دیگر برای انتقال تغییرات مورد نیاز به منبع داده ، استفاده می کند.
(ADO) آبجکت های Microsoft Activex Data
از نظر کارکرد، آبجکت های connection ،و Command تقریباً معادل همتاهای ADO خود هستند (تفاوت های آنها در عدم
پشتیبانی از مکان نماهای (cursor) سمت سروراست)، در حالی که DataReader ،مثل یک مکان نمای firehose ،عمل می کند . DataAdapterو DataSet هچ معادلی در ADO ندارند.
اشیاء و متدهای ADO.NET :
ADO.NET دارای چند شیء مهم است.این اشیاء را می توان به دو دسته تقسیم کرد:
1. آنهایی که برای نگهداری و مدیریت بر داده ها استفاده می شوند(مثل DataSet، DataTable ، DataRow ،DataRelation )
2. آنهایی که برای اتصال با منبع داده به کارمی روند (مثل DataReader،Connection ، Command ). توجه کنید که منظور از منبع داده ، جایی است که اطلاعات در آن نگهداری می شوند،به عنوان مثال ،بانک اطلاعاتی یک منبع داده است.
عناصر دسته دوم ADO.NET به دو گروه تقسیم می شوند :
I. گروه مربوط به نسخه استاندارد تأمین کننده OLEDB (مثل اکسس).
II. گروه مربوط به بانک اطلاعاتی SQL server منجر به افزایش کارایی می شوند
هر دو گروه تقریباً مثل هم عمل می کنند .تنها تفاوت این است که کلاسهایی که برای SQL server طراحی می شوند،از لایه OleDb عبور می کنند،و کارایی بهتری را ارائه می دهند. جدول1_1 مهمترین اشیاء و عملیات ADO.NET را نشان می دهد.در ادامه به شرح آن خواهیم پرداخت.
اولاً توجه کنید که اشیایی که با sql شروع می شوند،سرعت بالاتری دارند وفقط با SQL server میکروسافت کار می کنند .اشیاء OleDb با اکسس،اوراکل،وسایر بانکهای اطلاعاتی کار می کنند که برای آنها گرداننده های OleDb وجود دارد.یادآوری می شود که چون اشیاء OleDb نسبت به اشیاء sql از لایه های نرم افزاری بیشتری استفاده می کنند،سرعت اشیاء sql بیشتر است.
جدول 1_1:اشیاء و عملیات ADO.NET:
نام شیء
توصیف
SQL Server سایرسیستم مدیریت بانک اطلاعاتی
Sqlconnection OleDbconnection با مدیریت سیستم بانک اطلاعاتی اتصال برقرار می کند.
sqlcommand OleDbcommand دستورالعمل SQL را ذخیره و اجرا میکند.
sqlDataReader OleDbDataReader تقاضاهایی رااجراکرده،دستیابی فقط خواندنی به نتایج را فراهم می کند.
sqlDataAdapter OleDbDataAdapter داده های حاصل از تقاضا را بر می گردانند یا در بانک اطلاعاتی می نویسند.
Dataset حاوی یک یا چند Data Table است .
Data Table داده هارا به صورت سطر و ستون ذخیره می کنند
Data Relation بین دو Data Table ارتباط برقرار می کنند.
Data View نمایی از محتویات ذخیره شده یا فیلترشده Data Table را نشان می دهد.
شاید این پرسش مطرح شود که چرا شرکت مایکروسافت این کلاسها را برای دو دسته از بانک های اطلاعاتی تکرار کرده است. علتش این است که مایکروسافت با این کار توانست کلاسهای مربوط به بانک اطلاعاتی SQL Server را بهینه کند.البته می توانید برای ارتباط با بانک اطلاعاتی SQL Server از کلاسهای OleDb نیز استفاده کرد.اما از مزایای سهولت و سرعت کلاسهای مخصوص SQL Server محروم خواهید ماند.
توجه داشته باشید که کلاس connectionبرای برقراری اتصال با بانک اطلاعاتی ،کلاس command برای ذخیره و اجرای تقاضا(فرمانهای SQL )به کار می روند .اگر بخواهید اطلاعات را از بانک اطلاعاتی بخوانید و در صفحه نمایش ظاهر کنید (بدون هر گونه تغییراتی)،می توانید از شیء Data Reader استفاده کنید . البته ، این شی ء برای ساخت صفحات وب به وسیله ویژوال بیسیک نت مفید است؛زیرا اطلاعاتی که در اختیار کاربران قرار می گیرند ،قابل تغییر نیستند .
اما برای بازیابی اطلاعات در بانک اطلاعاتی،انجام تغییرات درآن وسپس نوشتن دربانک اطلاعاتی ،باید از کلاس Dataset ،Data Table ،Data Relation ،Data Adapter ،Data View استفاده کنند.
در واقع اطلاعاتی که از بانک اطلاعاتی بازیابی می شوند،در کلاس Dataset قرار می گیرند .
داده های موجود در Dataset را می توان نمایش یا تغییر داد و سپسدر بانک اطلاعاتی نوشت.
Datasetها:
کلاس Dataset هسته ADO.NET است واطلاعات حاصل از تقاضای بانک اطلاعاتی در آن ذخیره می شود. هر درخواستی از بانک اطلاعاتی را یک تقاضا می گوییم . ویژگی جالب Dataset این است که بدون اتصال به بانک اطلاعاتی وجود دارد . یعنی پس از اینکه اطلاعات را از بانک اطلاعاتی بازیابی و در آن ذخیره کردیم،می توانیم بدون اتصال به بانک اطلاعاتی ،از آن استفاده کنیم.
Dataset یک نمایش مقیم در حافظه از داده است که ساختار آن در شکل زیر نشان داده شده است. Datasetمی تواند،به عنوان یک پایگاه داده رابطه ای ساده شده که از جدول و روابط آنها تشکیل شده است،در نظر گرفته شود . باید بفهمیم که Dataset ، همیشه از منبع داده جداست.یعنی این آبجکت نمی داندداده ای که در خود دارد ،از کجا آمده است و در حقیقیت ،می تواند داده هایی را از چند منبع در خود داشته باشد.
هر Dataset می تواند مساوی یک یا چند Data Table باشد که هر Data Table نماینده یک جدول از بانک اطلاعاتی است. برای ایجاد ارتباط بین جدول ها از کلاس Data relation استفاده می شود.
Data View اطلاعات موجود در Data Table را نمایش می دهد.کلاس Data Adapter برای کار با Dataset ضروری است.این کلاس پلی بین Dataset و منبع داده (بانک اطلاعاتی)برقرار می کند.برای بازیابی اطلاعات از بانک اطلاعاتی و قرار دادن در Dataset و ثبت تغییرات در Dataset ،از کلاس Data Adapter استفاده می شود.
Dataset از دو آبجکت اصلی ،تشکیل شده است:
ataTableCollectionِِD و DataRelationCollection .
DataTableCollection:شامل هیچ یا چند آبجکت Data Table است که ،به نوبه خود از سه مجموعه تشکیل شده است: Columns ،Rows و Constrain .
DataRelationCollection: شامل هیچ یا چند Data Relation است.
DataTableCollection
مجموعه Columns آبجکت Data Table ،ستون هایی که Data Table را می سازند ، را تعریف
می کند . علاوه برخاصیت های Column Name و Data Type ، خاصیت هایData column به شما امکان می دهد تا مواردی مثل اینکه آیا امکان ایجاد ستون null (AllowDBNull) ، حد اکثر طول ستون (MaxLength) را می دهند یا خیر و حتی یک عبارت را که برای محاسبه مقدار آن بکار می رود (Expression) را می توانید تعریف کنید .
مجموعه Rows آبجکت Data Table ،که می تواند تهی (Empty) باشد ،شامل داده های واقعی است که بوسیله مجموعه Columns ،تعریف می شود . برای هر Row ، Data Table مقداراولیه ، فعلی و پیشنهاد شده را نگه می دارد.البته این قابلیت به میزان زیادی بعضی کارهای برنامه نویسی را آسان می کند.
ADO
ADO.NET Data Table همان کارکرد آبجکت Record set رادر ADO دارد،اگرچه مسلماً، نقش متفاوتی رادرمدل آبجکتی ،بازی می کند.
مجموعهConstraints آبجکتData Table ، شامل هیچ و یا تعدادی Constraints است.
Constraint ها، درست مثلConstraint های پایگاه داده رابطه ای ، برای حفظ جامعیت داده ها به کار می رود.ADO.NET از دو نوع Constraint (محدودیت) پشتسبانی می کند:
Constraint Foreign key که جامعیت رابطه ای را حفظ می کنند(یعنی تضمین می کند هر سطرفرزند نمی تواند بدون پدر باشد )و Constraint Unique جامعیت داده ها را حفظ می کنند(یعنی تضمین می کند سطرتکراری در جدول اضافه نشوند.). بعلاوه ،خاصیت primary Key سرانجام Data Table جامعیت موجودیت (entity) را تضمین می کند (یعنی یکتا بودن هر سطر را تضمین می کند.).
DataRelationCollection
سرانجام اینکه ، DataRelationCollection آبجکت Dataset شامل هیچ یا چند Data Relation
است. Data Relation ها،یک واسط برنامه ای ساده برای از یک سطر اصلی در یک جدول به سطر _های مربوطه در جدول دیگر را ارائه می کنند. برای مثال ،با داشتن Order (سفارش ها) ، Data Relation به شما امکان می دهد تا به سادگی سطر های مربوطه را در جدول Order Details (جزئیات سفارش ها)بدست آورید .(توجه داشته باشید که خود Data Relation ،جامعیت رابطه ای را تضمین نمی کند و برای این کار ،یک Constraint به کار می رود.).
ارتباط داده ها به یک فرم ساده ویندوزی
روند متصل داده ها به یک فرم ،data binding(مربوط کردن داده ها)نامیده می شود.این کار می تواند با کد و برنامه نویسی صورت گیرد ،ولی Microsoft Visual Stadio.NET ،این کار را بسیار ساده کرده است . در این فصل، از بخش طراحی (designer) و ویزاردها برای ایجاد سریع یک فرم ساده ویندوزی مرتبط به داده ،استفاده خواهیم کرد.
مهم
اگر تاکنون ، برنامه Microsoft Visual Stadio.NET را نصب نکرده اید به یک reference مراجعه کنید.
اضافه کردن یک Connection و Data Adapter
اولین قدم در مرتب کردن داده ها،ایجاد آبجکت های Data Provider است. Visual Studioیک ویزارد Data Adapter Configuration برای ساده کردن این کار دارد .وقتی که Data Provider اضافه شد می توانیدبا استفاده از پنجره Data Adapter preview برنامه Visual Studio،بررسی کنید که آیا تنظیمات آن درست است یا خیر.
اضافه کردن یک connection به یک فرم
1_پروژه Windows Application1را از صفحه شروع Visual Studio،باز کنید.
2_رویform2.VB درSolution Explorer دو بار کلیک کنید تا فرم باز شود.
Visual Studio ،فرم را در بخش form designer ،نشان می دهد.
3_یک آبجکتOLEDBDataAdapter،را از برگه Data جعبه ابزار (Toolbox) به روی فرم بکشید. Visual Studio،اولین صفحه ویزارد Data Adapter Configurationرا نشان می دهد.
4_روی Next کلیک کنید.
ویزارد Data Adapter Configuration یک صفحه را به شما نشان می دهد و از شما می خواهد که یک Connection را انتخاب کنید.
5_روی دکمه new connection کلیک کنید. کادر محاوره ای Data Link Properties باز می شود.
6_از برگه provider برای پایگاه داده Access گزینه Jet4.0… را انتخاب کرده و Next را زده .
7_سپس دکمه ای را که دور آن یک خط کشیده شده است را کلیک می کنیم و فایل Access ذخیره شده را پیدا می کنیم.وOK را زده و اسم سرور و اطلاعات مناسب مربوط به logon را انتخاب کنید،(برای SQL )_ پایگاه داده north wind را انتخاب کنید و بعد بر روی Test Connection کلیک کنید.
ویزارد Data Adapter Configuration ،پیغامی را به شما نشان می دهد و می گوید که اتصال موفقیت آمیز بوده است.
8_روی دکمه okکلیک کرده تا پیغام بسته شود ،بعد روی دکمهok کلیک کنید تا کادر محاوره Data Link Properties بسته شود،بعد روی دکمه next کلیک کنید تا صفحه بعدی ویزارد را نشان دهد.
ویزارد ،یک صفحه را به شما نشان می دهد و از شما می خواهد تا یک نوع از پرس و جو (query) را انتخاب کنید.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 73 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید
دانلود مقاله پروژه نرم افزار جستجوی اطلاعات دانشجویی