| أضيف في: 6-12-1426هـ | ||||
|---|---|---|---|---|
الجزء الثاني من استخدام جمل SQL مع الفيجوال بيسك استخدام جملة العرض Select حيث نستطيع استخدام جمله select مع الفيجوال عند فتح جدول حيث يتم استخدامها بطريقتين الأولى : حيث يتم تعريف متغير نصي ثم نضع فيه جملة Select ثم نقوم بعد ذلك بفتح الجملة كالتالي : CODE Dim sql As String sql = "Select …….." If rs.State = adStateOpen Then rs.Close rs.Open sql, db, adOpenDynamic, adLockOptimistic ثم بعد ذلك يتم استخدام المتغير Rs الذي يحمل ناتج تنفيذ جملة SQL في أي مكان تريده الثانية : حيث يتم استخدام الجملة مباشرة عند فتح الجدول كالتالي CODE rs1.Open "select …. " , db, adOpenDynamic, adLockOptimistic وهنا سنستخدم نفس الأسلوب الذي استخدمناه في الجزء الأول حيث سنعرض الجملة ونقوم بشرحها ثم نعطي مثال عملي عليها قم بتنزيل المثال المرفق ويا ريت تقوم بحفظة باسم جديد ثم تقوم بحذف الكود الموجود حتى تكتب الكود أنت بنفسك ![]() الشكل العام لجملة Select CODE SELECT col1, col2, col3,…… From tab1,tab2,… WHERE conditions [GROUP BY... ] [HAVING... ] [ORDER BY... ] هذه هي الصورة العامة لجملة Select والتي من الممكن أن تأخذ معنا عدد من الحلقات فتحملونا في هذه الحلقات التي أظن أنها هامة لي مبرمج يريد أن يكون مبدعا وسنبدأ مع الجملة البسط لجملة Select ثم نمر معها حتى نصل إلى نهاية هذا الشكل ولنبدأ بشرح مبسط لبارامترات الجملة 1 – select وهي جملة العرض لمجموعة من العمدة من جدول أو أكثر تحت شرط أو مجموعة من الشروط 2 – col1,col2,col3 هي أسماء الحقول المراد استخراجها 3 – From وهي جملة تحديد الجداول 4 – tab1,tab2 هي أسماء الجداول التي يتم عرض الحقول منها 5 – where جملة تجهيز الشرط 6 – Conditions الشروط المطلوب تنفيذها على الحقول 7 – Group by هي جملة التجميع 8 – having هي جملة تقليص التجميع المستخدم بجملة Group By 9 – Order By هي جملة الترتيب حسب حقل أو مجموعة من الحقول هذا شرح سريع لبارامترات الجملة وهيا بنا شمر حتى نخوض في التفاصيل 1 – استعادة أعمدة محددة من الجدول وهي أبسط عبارات جملة Select والتي تكتب كالتالي CODE Select Fields From Tables حيث Fieldsتمثل الحقول المراد إظهارها Tables تمثل الجداول التي تحوي هذه الحقول مثال تطبيقي 1 لعرض مجموعة حقول محددة من جدول اضغط على الزر SQL1 مرتين ثم اكتب الكود التالي CODE Dim sql As String sql = "Select St_no,st_name,Address From St_inf" If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 2 – لعرض جميع الحقول من جدول محدد حيث يتم كتابة الكود التالي : CODE Select * from table حيث تعبر * عن جميع الحقول بالجدول مثال تطبيقي 2 لعرض مجموعة حقول محددة من جدول اضغط على الزر SQL2 مرتين ثم اكتب الكود التالي CODE Dim sql As String sql = "Select * From St_inf " If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 3 – لعرض حقول من جداول مختلفة نكتب الجملة التالية CODE Select tab1.col1,tab2.col2…… From tab1,tab2,….. مثال تطبيقي 3 لعرض مجموعة حقول محددة من جدول اضغط على الزر SQL3 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select st_inf.st_no,st_inf.st_name,st_inf.address,st_level.level,st_level.class From St_inf,st_level " If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 وهنا إذا لم تضع شرطا معينا فسييتم تكرار السجلات بمعنى أن كل سجل من الجدول الأول سيظهر له كل سجلات الجدول الثاني ولذلك إذا أردت عرض عدد معين من السجلات يمكنك استخدام الجملة التالية 4 – عرض عدد محدد من السجلات باستخدام جملة Top n حيث تمثل n عدد السجلات المراد عرضها والجملة تكتب كالتالي : CODE Select Top n tab1.col1,tab2.col2…… From tab1,tab2,….. حيث يتم عرض العدد المحدد من السجلات مثال تطبيقي 4 لعرض مجموعة حقول محددة من جدول اضغط على الزر SQL4 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select top 17 st_inf.st_no,st_inf.st_name,st_inf.address,st_level.level,st_level.class From St_inf,st_level " If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 - وهنا يمكنك استخدام جملة All بدلا من Top n لعرض جميع السجلات مرة ثانية استبدل فقط كلمة Top n بكلمة all سيتم عرض جميع السجلات - كذلك يمكنك استخدام كلمة DISTINCT لمنع ظهور تكرار السجلات مثل الجملة التالية : CODE SELECT DISTINCT LastName FROM Employees; لمنع تكرار الأسماء المتشابهة في الأسم الأخير - ولمنع التكرار من خلال عدة جداول مرتبطة معا يمكنك استخدام البارامتر DISTINCTROW مثل عند عرض العملاء وطلبياتهم يمكن أن يكون للعميل أكثر من طلبيه وأنت تريد عرض طلبيه واحدة لكل عميل فنستخدم المثال التالي CODE SELECT DISTINCTROW CompanyName FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY CompanyName; - كذلك يمكنك تغيير اسماء الحقول المعروضة باستخدام جملة AS حيث يتم كتابة الجملة كالتالي : CODE Select col1 as new1,col2 as new2 From tab مثال تطبيقي 5 لعرض حقول محددة وتغيير هذه الحقول بأسماء جديدة اضغط على الزر SQL5 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select st_no as [رقم الطالب],st_name as [اسم الطالب],address as [العنوان] From St_inf " If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 استخدام جملة Where والتي تستخدم لإدراج الشروط وهنا يمكنك استخدام عدة إشكال من الشروط سوف نتناول جميع الأشكال من الشروط أولا : شروط المقارنة وتشمل العلامات المعروفة في المقارنة مثل = أو > أو < أو => أو =< أو <> ( لا يساوي ) حيث يتم كتابة الجملة كالتالي : CODE Select * from tab1 Where col { } value حيث يتم وضع معامل المقارنة مكان القوسين { } ويكون Value هي قيمة المقارنة التي ممكن أن تكون رقم أو قيمة مدخلة من مربع نص أو قيمة مدخلة من أي أداة أخري مثال تطبيقي 6 لعرض جميع حقول الجدول بحيث أن رقم الطالب أكبر من 6 مثلا اضغط على الزر SQL6 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select * From St_inf where st_no > 6" If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 صور أخري يمكنك تجريبها CODE Select * from st_inf where st_no <=6 لعرض مجموعة سجلات بحيث رقم الطالب أقل من أو يساوي 6 CODE Select * from st_inf where b_date >#1/6/2004# لعرض مجموعة سجلات بحيث تاريخ الميلاد أكبر من أو يساوي 1/6/2004 ثانيا : استخدام المعاملات المنطقية وهي ثلاث - And وهي تستخدم لربط شرطين بحيث يكون الناتج صحيح إذا تحقق الشرطين معا - Or وهي اربط شرطين بحيث يكون ناتج صحيح إذا تحقق أحد الشرطين - Not وهو شرط لنفي الجملة عكس النتائج وتستخدم مع جمل أخرى كما سيرد لاحقا وتكتب الجملة كالتالي : CODE Select * from tab Where col >= n1 [and /or ] col <n2 [B]مثال تطبيقي 7 لعرض جميع حقول الجدول بحيث أن رقم الطالب أكبر من 6 مثلا واقل من 15 اضغط على الزر SQL7 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select * From St_inf where st_no > 6 and st_no <15" If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 ثالثا : استخدام الجملة Between …. And أو not between …and وتستخدم لعرض البيانات المحصورة بين قيمتين ممكن أرقام وممكن تواريخ وتكتب الجملة كالتالي : CODE Select * from tab Where col Between n1 and n2 مثال تطبيقي 8 لعرض جميع حقول الجدول بحيث أن رقم الطالب محصور بين 6 و 15 مع الأخذ في الاعتبار أن الرقمين 6 و 15 قيمة البداية والنهاية ستظهر في العرض اضغط على الزر SQL8 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select * From St_inf where st_no between 6 and 15" If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 رابعا : استخدام العامل ضمن IN حيث تستخدم لعرض القيم الموجودة داخل قوس وتكتب كالتالي : CODE Select * from tab Where col in ( n1,n2,n3,….) مثال تطبيقي 9 لعرض جميع حقول الجدول بحيث أن رقم الطالب له القيم داخل القوس اضغط على الزر SQL9 مرتين ثم اكتب الكود التالي : CODE Dim sql As String sql = "Select * From St_inf where st_no In(4,6,8,10,12,14)" If rs1.State = adStateOpen Then rs1.Close rs1.Open sql, db, adOpenDynamic, adLockOptimistic Set DataGrid1.DataSource = rs1 نكتفي بهذا في هذه الحلقة ونكمل إن شاء الله في الحلقة القادمة هانت يا شباب أوشكنا على النهاية إن شاء الله ونتم الموضوع بإذن الله تعالى |
||||
| الكاتب: LaSer_26 |
|
|
|
|
|
خيارات الدرس : |
||||