لینک پرداخت و دانلود در "پایین مطلب"
فرمت فایل: word (قابل ویرایش و آماده پرینت)
تعداد صفحات:116
استفاده از دستورات SQL در ویژوال بیسیک (1)
» SQL چیست ؟ : SQL خلاصه یا مخفف کلمات ( Structured Query Language ) به معنی زبان جستجوی ساخت یافته است . SQL زبانی است بسیار قدرتمند که از آن برای دسترسی به پایگاه داده و پردازش اطلاعات آن استفاده می شود .دستورات SQL به دو دسته کلی تقسیم می شوند :
1 ) دستورات پردازش داده (DML ) : از این دستورات برای استخراج ، مرتب سازی ، خلاصه سازی و محاسبه روی جدول ها استفاه می شود .
2 ) دستورات تعریف داده (DDL ) : با استفاده از این دستورات ما قادر خواهیم بود تا در یک پایگاه داده جدول ، اندیس و رابطه تعیین کنیم .
» دستورات SQL تقریبا در تمام بانکهای اطلاعاتی رابطه ای مانند : SQL Server ، Oracle ، Access و غیره که قابلیت پشتیبانی آن را دارند می تواند مورد استفاده قرار گیرد . دستورات SQL دستورات بسیار ساده ای هستند که میتوان آنها را بر روی تمامی اجزاء و اشیاء پایگاه داده اجرا کرد . تمامی برنامه هایی که به طریقی با پایگاه داده رابطه ای سرو کار دارند از SQL استفاده می کنند.
» در این درس ما می خواهیم با دستورات DML یا همان پردازش داده SQL آشنا شویم و یاد بگیریم که چگونه و در کجا از آنها استفاده کنیم .
اگر به خاطر داشته باشید ما در درسهای گذشته آموختیم که چگونه با استفاده از کد نویسی پایگاه داده مورد نظر و همچنین جدول مورد نظر خود را به رکوردست کاریمان انتقال دهیم و بر روی آن پردازش آنجام دهیم . برای مثال :
()Private Sub Form_Load
"Data1.DatabaseName = "C:\Data.mdb
"Data1.RecordSource = "Student
- Refresh
End Sub
ما دستورات SQL را در قسمت RecordSource به کار خواهیم برد ، یعنی قسمتی که از طریق آن جدول یا فیلد های مورد نظر برای رکوردست ما تعیین می شود . دستورات SQL به قدری قدرتمند است که با یک خط کد ساده ما می توانیم چندین عملیات مشکل که توسط دستورات خود ابزار Data انجام می دادیم را به راحتی انجام دهیم . این دستورات به طور کلی باید به فرم یک رشته باشد . در این حالت شما فقط باید دقت داشته باشید تا دستورات را به شکل صحیح بنویسید چون محیط ویژوال بیسیک هیچ گونه کنترلی بر روی این رشته نخواهد داشت :
"دستوراتData1.RecordSource=" SQL
البته من در این آموزش دستورات SQL را به رنگ آبی می نویسم تا مشخص باشند . ولی در حالت واقعی آنها رنگ سیاه خواهند داشت .
دستورات SQL :
» SELECT_FROM : این دستور که مهمترین و پرکاربرد ترین دستورد در SQL به شنار می رود ، میتواند رکوردهای مورد نظر را از یک یا چند جدول استخراج نماید . نتیجه هر دستور SELECT_FROM یک مجموعه یا نما از داده های استخراج شده است . برای مثال :
" Data1.RecordSource=" SELECT Name,Family FROM Student
دستور نوشته شده فوق فیلد نام و نام خانوادگی را از جدول دانش آموز انتخاب می کند . اگر شما قصد داشته باشید همه فیلد های یک جدول را انتخاب کنید دیگر نیاز نیست تا نام همه این فیلد ها را بنویسید بلکه با استفاده از کاراکتر * این عمل انجام خواهد شد :
SELECT * FROM Student
بیشتر مواقع شما نیاز دارید اطلاعاتی را از چند جدول استخراج کنید در این حالت باید شما از دستور SCELET_FROM به صورت زیر استفاده کنید :
SELECT Student.Name,Student.Family,Lesson.Dars,Lesson.Ostad FROM Student,Lesson
اگر دقت کنید در این دستور برای این که مشخص شود که فیلد نام از کدامیک از جدول ها و فیلد استاد از کدام جدول انتخاب شود باید پیشوند نام جدول همراه با یک (.) به نام فیلد اضافه گردد .همچنین شما می توانید دو فیلد را با هم ادغام کرده و به عنوان یک فیلد استفاده کنید :
SELECT Name + Family AS Media FROM Student
در این مثال دو فیلد نام و نام خانوادگی با هم ادغام شده و به نام فیلد Media در آمده اند و شما میتوانید از این فیلد مانند یک فیلد معمولی استفاده کنید همچنین شما می توانید از کاراکتر & هم برای این ادغام استفاده کنید یا میتوانید ادغام این دو فیلد را درون پرانتز انجام دهید :
"Text1.DataField="Media
البته نتیجه این چنین عملیاتی در استفاده از جدول ها بسیار قابل فهم تر است .
» ORDER BY : وقتی که ما از دستور SELECT_FROM استفاده می کنیم رکوردها به همان ترتیبی که در جدول اصلی قرار دارند نمایش داده می شوند . ولی ما میتوانیم با استفاده از دستور ORDER BY رکوردها را به حالت دلخواه به صورت نزولی( DESC ) یا صعودی ( ASC ) مرتب کنیم . برای مثال :
SELECT * FROM Student ORDER BY Name DESC
در این دستور همه فیلد های جدول دانش آموزان بر اساس فیلد نام به صورت نزولی مرتب می شوند .
دستور ORDER BY می تواند بیش از یک فیلد را اساس مرتب سازی خود قرار دهد :
SELECT * FROM Student ORDER BY Name DESC,Family ASC
در این مثال درستور ORDER BY ابتدا جدول را بر اساس فیلد نام به صورت نزولی مرتب می کند و سپس مرتب سازی بر اساس فیلد نام خانوادگی به صورت صعودی انجام خواهد شد .
» WHERE : یکی از قویترین جنبه های دستور SELECT_FROM کنترل تعداد رکوردهای برگشتی با استفاده از شرطی که با دستور WHERE تعیین می شود است . در واقع این دستور جزئی از دستور SELECT_ FROM است . از این دستور به دو روش استفاده می شود :
> استفاده از WHERE برای محدود کردن رکوردهای اتنخابی :
'SELECT * FROM Student WHERE Name = 'Ali
شما میتواند در این دستور از عملگرهای منطقی مانند : = ، > ، < ، <> ، =< ، => نیز استفاده کنید . همچنین می توانید چندین شرط را با عملگرهای منطقی AND و OR ادغام کنید :
'SELECT * FROM Student WHERE Name = 'Ali' AND Family <> ' Player
همچنین فیلدهایی از نوع رشته ای را باید درون علامت'' قرار دهید .
SQL مایکروسافت از عملگرهای BETWEEN_AND ، IN و LIKE هم در استفاده از دستور WHERE پشتیبانی می کند و از آنها می توان به صورتهای زیر استفاده کرد :
_ BETWEEN_AND : با استفاده از این کد ما میتوانیم رکوردهای خروجی را بین دو محدوده قرار دهیم :
SELECT * FROM Student WHERE ID BETWEEN 10 AND 20
در این دستور رکوردهای انتخاب خواهند شد که فیلد ID آنها بین عددهای 10 و 20 است . البته بهتر است فیلد مورد استفاده در این نوع دستور از نوع عددی باشد .
_ IN : با استفاده از این دستور ما میتوانیم اطلاعات را به صورت پراکنده و نا پیوسته انتخاب کنیم :
('SELECT * FROM Student WHERE Name IN ( 'Ali','Hassan','Mehdi
_ LIKE : ما می توانیم با این عملگر بسیار قدرتمند رکوردهای خود را از میان رکوردهایی که شباهت جزئی با هم دارند انتخاب کنیم :
('*SELECT * FROM Student WHERE Name LIKE ( '*Ali
در این دستور رکوردهایی انتخاب خواهند شد که در فیلد نام آنها کلمه یا رشته 'Ali' به کار رفته باشد .
> استفاده از WHERE برای لینک کردن دو یا چند جدول
مقاله استفاده از دستورات SQL در ویژوال بیسیک