أكواد البحث بإستخدام SQL من خلال مكتبة ado و الاداة Adodc وعرض النتائج فى DataGrid

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

أكواد البحث بإستخدام SQL من خلال مكتبة ado و الاداة Adodc وعرض النتائج فى DataGrid

مُساهمة من طرف المبرمج الطموح في الأربعاء ديسمبر 25, 2013 10:51 am

بسم الله الرحمن الرحيم 

_ بعض الاخوة الاعضاء يسألون عن كيفية البحث عن سجلات قاعدة البيانات باستخدام مكتبة ado و الاداة Adodc وعرض النتائج فى DataGrid لذلك أقدم لكم هذا المقال :

أولا : البحث باستخدام مكتبة ado 

_ فى البداية نقوم بكتابة كود الاتصال بقاعدة البيانات على النحو التالى :

فى القسم العام

الرمز:
Public DB As New ADODB.Connection
Public Rs As New ADODB.Recordset


فى حدث تحميل النافذة

الرمز:
DB.CursorLocation = adUseClient
   DB.Provider = "Microsoft.JET.OLEDB.4.0;"
   DB.Open App.Path & "\Data.mdb"
    
   R.Open "Table1", DB, adOpenStatic, adLockPessimistic 

_ بعد ذلك يتم إستخدام عبارة SQL و تمريرها الى كائن السجلات R وذلك فى حالات عده وهى على النحو التالى :

1_ البحث المطابق تماما للنص :

الرمز:
sql = "select * from Table1 where name = '" & (Text1.Text) & "'"
            R.CursorType = adOpenStatic
          R.CursorLocation = adUseClient
          R.LockType = adLockOptimistic
            R.Open sql, B, , , adCmdText

      If R.RecordCount > 0 Then
          Set DataGrid1.DataSource = R
       Else
          MsgBox "لايوجد نتائج للبحث"
          R.Close
        End If

_ حيث أن :

_ Table1 ....هو اسم جدول البيانات
_name ........هو اسم الحقل المراد البحث فية
_Text1.Text....هو مربع النص الذى يحتوى على النص المراد البحث عنه
_DataGrid1.....هو اسم شبكة البيانات DataGrid1 المراد وضع نتائج البحث فيها

2_ البحث عن السجلات التى تبدأ أول كلمة فى النص المحدد فقط

الرمز:
sql = "select * from Table1 where name " like '" & (Text1.Text) & "%'"
           R.CursorType = adOpenStatic
           R.CursorLocation = adUseClient
           R.LockType = adLockOptimistic

    R.Open sql, B, , , adCmdText

       If R.RecordCount > 0 Then
           Set DataGrid1.DataSource = R
        Else
           MsgBox "لايوجد نتائج للبحث"
           R.Close
           End If

3_البحث عن السجلات التى تحتوى على النص المحدد
الرمز:

 sql = "select * from Table1 where name like '%" & (Text1.Text) & "%'"
            R.CursorType = adOpenStatic
            R.CursorLocation = adUseClient
            R.LockType = adLockOptimistic

      
   R.Open sql, B, , , adCmdText

     If R.RecordCount > 0 Then
           Set DataGrid1.DataSource = R
        Else
           MsgBox "لايوجد نتائج للبحث"
           R.Close
           End If

4_ البحث عن السجلات التى تطابق أخر كلمة أو حرف فى النص المحدد

الرمز:

 sql = "select * from Table1 where name like '%" & (Text1.Text) & "'"
            R.CursorType = adOpenStatic
            R.CursorLocation = adUseClient
            R.LockType = adLockOptimistic
      


   R.Open sql, B, , , adCmdText
     If R.RecordCount > 0 Then
           Set DataGrid1.DataSource = R


        Else
           MsgBox "لايوجد نتائج للبحث"
           R.Close
           End If


ويجب ملاحظة أن الفرق بين جملة الاستعلام السابقة هى التالى :

جملة الاستعلام الاولى : تم استخدام معامل الاسناد = و بدون وجود علامة النسبة المئوية
جملة الاستعلام الثانية : تم استخدام العبارة like بدلا من معامل الاسناد = مع وجود علامة النسبة المئوية فى نهاية الجملة
جملة الاستعلام الثالثة : تم استخدام العبارة like بدلا من معامل الاسناد = مع وجود علامة النسبة المئوية فى بداية و نهاية الجملة
جملة الاستعلام الرابعة : تم استخدام العبارة like بدلا من معامل الاسناد = مع وجود علامة النسبة المئوية فى بداية الجملة

ثانيا : البحث باستخدام الاداة Adodc

1_ البحث المطابق للنص المحدد

الرمز:
Adodc1.RecordSource = "select * from Tabel1 where name = '" & (Text1.Text) & "'"
         Adodc1.CommandType = adCmdText
         Adodc1.Refresh
        
       If Adodc1.Recordset.RecordCount > 0 Then
           Set DataGrid1.DataSource = Adodc1
       Else

          MsgBox "لايوجد نتائج"

          End If


2_ البحث عن السجلات التى تبدأ بالنص المحدد

الرمز:
Adodc1.RecordSource = "select * from Tabel1 where name like '" & (Text1.Text) & "%'"
         Adodc1.CommandType = adCmdText
         Adodc1.Refresh
        
       If Adodc1.Recordset.RecordCount > 0 Then
       Set DataGrid1.DataSource = Adodc1
       Else
       MsgBox "لايوجد نتائج بحث"
          
         End If

3_ البحث عن السجلات التى تحتوى على اى جزء من النص المحدد

الرمز:
Adodc1.RecordSource = "select * from Tabel1 where name like '%" & (Text1.Text) & "%'"
         Adodc1.CommandType = adCmdText
         Adodc1.Refresh
        
       If Adodc1.Recordset.RecordCount > 0 Then
       Set DataGrid1.DataSource = Adodc1
       Else
       MsgBox "لايوجد نتائج بحث"
          
         End If

4_ البحث عن السجلات التى تنتهى بالنص المحدد

الرمز:
Adodc1.RecordSource = "select * from Tabel1 where name like '%" & (Text1.Text) & "'"
         Adodc1.CommandType = adCmdText
         Adodc1.Refresh
        
       If Adodc1.Recordset.RecordCount > 0 Then
       Set DataGrid1.DataSource = Adodc1
       Else
       MsgBox "لايوج نتائج بحث"
          
         End If


تحياتى لكم  Very Happy  Very Happy  Very Happy

المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 117
النقاط : 213
التقيم : 6
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: أكواد البحث بإستخدام SQL من خلال مكتبة ado و الاداة Adodc وعرض النتائج فى DataGrid

مُساهمة من طرف ahmedismayl في الأحد يناير 19, 2014 3:34 pm

روعة روعة تسلم ايدك

ahmedismayl
..
..

تاريخ التسجيل : 15/01/2014
المساهمات : 24
النقاط : 30
التقيم : 0
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: أكواد البحث بإستخدام SQL من خلال مكتبة ado و الاداة Adodc وعرض النتائج فى DataGrid

مُساهمة من طرف محمد يوسف في الإثنين يناير 20, 2014 11:08 am


جزاكم الله خيرا اخى الفاضل ....لكن كيف يتم البحث بين تاريخين ؟

محمد يوسف
...
...

تاريخ التسجيل : 08/12/2013
المساهمات : 38
النقاط : 66
التقيم : 12
الدولة : السودان
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى