تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
عمل داله عامة لاستعلام يحتوي علي بارميترز
#1
محتاج دالة عامة علي مستوي المشروع لعمل استعلام يعتمد علي بارميترز.
الرد }}}
تم الشكر بواسطة:
#2
تفضل هذا مثال مشروح عما تريده .

و هذا الكود المشروح :

PHP كود :
'عمل مديول ووضع فانكشن به'
Module ExecuteQuery
    
'عمل فانكشن يعود بـ داتاتيبل معبئة بالسجلات'
 
   ''' <summary>'
 
   ''' تحمييل السجلات في داتا تيبل'
 
   ''' </summary>'
 
   ''' <param name="TableName">اسم الجدول</param>'
 
   ''' <param name="ColumnName">اسم العامود</param>'
 
   ''' <param name="ParamName">قيمة الباراميتر</param>'
 
   ''' <param name="SearchLike">Like هل تريد البحث بتعليمة</param>'
 
   ''' <returns>داتا تيبل</returns>'
 
   ''' <remarks>لا يوجد</remarks>'
 
   Public Function EXCQuery(TableName As StringColumnName As StringParamName As StringSearchLike As Boolean) As DataTable
        
'تعريف متغيير للاستعلام'
 
       Dim StrSQL As String String.Empty
 
       'تعريف شرط إذا كان الاستعلام Like'
 
       If SearchLike True Then
            
'تعريف شرط إذا كان الباراميتر فارغ'
 
           If ParamName String.Empty Then
                
'كتابة الاستعلام'
 
               StrSQL "Select * From " TableName
                
'تعريف شرط إذا كان الباراميتر غير فارغ'
 
           ElseIf Not ParamName String.Empty Then
                
'كتابة الاستعلام'
 
               StrSQL "Select * From " TableName " Where " ColumnName " Like @ParamName"
 
           End If
 
       ElseIf SearchLike False Then
            
'تعريف شرط إذا كان الباراميتر فارغ'
 
           If ParamName String.Empty Then
                
'كتابة الاستعلام'
 
               StrSQL "Select * From " TableName
                
'تعريف شرط إذا كان الباراميتر غير فارغ'
 
           ElseIf Not ParamName String.Empty Then
                
'كتابة الاستعلام'
 
               StrSQL "Select * From " TableName " Where " ColumnName " =@ParamName"
 
           End If
 
       End If
 
       'كود الاتصال غيير بما يتناسب مع اسم قاعدة بياناتك و اسم مستخدمك و كلمة مرورك'
 
       Dim Con As New SqlClient.SqlConnection("Server =(local);database=TestAsemXT;integrated security=false;User ID=AsemShahen;Password=12345679")
 
       'تعريف داتا أدبتر'
 
       Dim da As New SqlClient.SqlDataAdapter
        
'فتح الاتصال مع قاعدة البيانات'
 
       If Con.State ConnectionState.Closed Then Con.Open()
 
       'تعريف سيكول كوماندو وضع الاستعلام و كود الاتصال به'
 
       Dim cmd As New SqlClient.SqlCommand(StrSQLCon)
 
       'تعريف شرط إذا كان الاستعلام Like'
 
       If SearchLike True Then
            
'تعريف باراميتر'
 
           cmd.Parameters.AddWithValue("@ParamName""%" ParamName "%")
 
       ElseIf SearchLike False Then
            
'تعريف باراميتر'
 
           cmd.Parameters.AddWithValue("@ParamName"ParamName)
 
       End If
 
       'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       'وضع الكوماند بـ الداتا أدبتر'
 
       da.SelectCommand cmd
        
'تحميل السجلات في الداتاتيبل'
 
       da.Fill(dt)
 
       'إغلاق الاتصال'
 
       If Con.State ConnectionState.Open Then Con.Close()
 
       'العودة بـ الداتاتيبل المعبئة'
 
       Return dt
        
'إغلاق الفانكشن'
 
   End Function
 
   'إغلاق الموديول'
End Module

'كيفية إستخدام الكود في الفورم'
Public Class Form1
    
'كود تحميل الفورم'
 
   Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        
'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       'تعبئة الداتاتيبل الجديدة من الفانكشن'
 
       dt EXCQuery("TestTable""FullName"""False)
 
       'تعبئة داتا غريد فيو من الداتاتيبل'
 
       DataGridView1.DataSource dt
    End Sub
    
'بحث حسب القيمة المعطاة للبراميتر'
 
   Private Sub FillTableWithParamSearch_Click(sender As ObjectAs EventArgsHandles FillTableWithParamSearch.Click
        
'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       'تعبئة الداتاتيبل الجديدة من الفانكشن'
 
       dt EXCQuery("TestTable""FullName"Txt_Param.TextFalse)
 
       'تعبئة داتا غريد فيو من الداتاتيبل'
 
       DataGridView1.DataSource dt
    End Sub
    
'تحميل كامل الجدول'
 
   Private Sub BtnFillAllTable_Click(sender As ObjectAs EventArgsHandles BtnFillAllTable.Click
        
'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       'تعبئة الداتاتيبل الجديدة من الفانكشن'
 
       dt EXCQuery("TestTable""FullName"""False)
 
       'تعبئة داتا غريد فيو من الداتاتيبل'
 
       DataGridView1.DataSource dt
    End Sub
    
'تعليمة Like بحث حسب القيمة المعطاة للبراميتر'
 
   Private Sub FillTableWithParamSearchLike_Click(sender As ObjectAs EventArgsHandles FillTableWithParamSearchLike.Click
        
'تعريف داتاتيبل'
 
       Dim dt As New DataTable
        
'تفريغ الداتاتيبل'
 
       dt.Clear()
 
       'تعبئة الداتاتيبل الجديدة من الفانكشن'
 
       dt EXCQuery("TestTable""FullName"Txt_Param.TextTrue)
 
       'تعبئة داتا غريد فيو من الداتاتيبل'
 
       DataGridView1.DataSource dt
    End Sub
End 
Class 


الملفات المرفقة
.zip   PublicFindWithParam.zip (الحجم : 143.71 ك ب / التحميلات : 24)
الرد }}}


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] طلب كود لاستعلام الاسم واخر سنة اشتراك momiana1 3 369 04-02-25, 09:45 PM
آخر رد: aliday03
  [VB.NET] جمع حقل به داله hassan.alsaber 1 673 03-06-23, 04:00 PM
آخر رد: علاء الكبابي
  [VB.NET] كود لفتح ملف اكسس خارجي يحتوي على كلمة سر فيجول استوديو 2015 يوسف العزير 14 2,857 20-11-22, 12:26 PM
آخر رد: يوسف العزير
  [VB.NET] كود لفتح ملف اكسس خارجي يحتوي على كلمة سر فيجول استوديو 2015 يوسف العزير 0 1,045 05-11-22, 03:08 PM
آخر رد: يوسف العزير
Rainbow [VB.NET] عرض حقل يحتوي على قيم مختلفة بشكل أفقي في تقرير الكرستال ريبورت معتز حسن 0 1,249 09-02-22, 12:32 AM
آخر رد: معتز حسن
  [سؤال] هل من سبيل لحفظ ملف csv يحتوي علي لغه عربيه لعمل استراد لقاعده البيانات ؟ dametucorazon 6 14,840 13-11-21, 12:49 AM
آخر رد: _11Basil
Exclamation تسجيل الدخول الى موقع يحتوي على Captcha باستخدام WebBrowser Basil Abdallah 4 2,514 01-02-21, 11:16 PM
آخر رد: Basil Abdallah
  [سؤال] تحويل نص يحتوي عملية الى عملية حسابية عبد الهادي بهاب 4 2,327 09-08-20, 02:29 AM
آخر رد: عبد الهادي بهاب
  مشكلة في تحزيم البرنامج يحتوي على ملف فلاش ".swf" سعد79 0 1,274 26-03-20, 03:12 PM
آخر رد: سعد79
  [VB.NET] مشكلة في تحزيم البرنامج يحتوي على ملف فلاش ".swf" سعد79 0 1,075 25-03-20, 02:20 PM
آخر رد: سعد79

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم