منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : البحث باستخدام ComboBox
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة الله و بركاته

مثال لكيفية تنفيذ عملية بحث باستخدام ComboBox في تطبيق Windows Forms بلغة VB.NET:

المتطلبات:
قاعدة بيانات Access باسم: MyDatabase.accdb

جدول باسم: Products يحتوي على الأعمدة:
ProductID (رقم)
ProductName (نص)
Category (نص)
Company (نص)


 تصميم النموذج (Form1):
ComboBox → cmbSearchBy
TextBox → txtSearch
Button → btnSearch
DataGridView → DataGridView1

كود VB.NET كامل:

PHP كود :
Imports System.Data.OleDb

Public Class Form1
    Dim conn 
As OleDbConnection
    Dim dbPath 
As String Application.StartupPath "\MyDatabase.accdb"

 
   Private Sub Form1_Load(sender As ObjectAs EventArgsHandles MyBase.Load
        
' إعداد الاتصال
        conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath)

        ' 
تعبئة خيارات البحث
        cmbSearchBy
.Items.Add("ProductName")
 
       cmbSearchBy.Items.Add("Category")
 
       cmbSearchBy.Items.Add("Company")
 
       cmbSearchBy.SelectedIndex 0

        
' تحميل كل المنتجات
        LoadAllProducts()
    End Sub

    Private Sub LoadAllProducts()
        Try
            Dim dt As New DataTable()
            Dim da As New OleDbDataAdapter("SELECT * FROM Products", conn)
            da.Fill(dt)
            DataGridView1.DataSource = dt
        Catch ex As Exception
            MessageBox.Show("خطأ في تحميل البيانات: " & ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

    Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
        Dim searchBy As String = cmbSearchBy.SelectedItem.ToString()
        Dim keyword As String = txtSearch.Text.Trim()

        Dim query As String = "SELECT * FROM Products WHERE [" & searchBy & "] LIKE ?"

        Try
            Dim cmd As New OleDbCommand(query, conn)
            cmd.Parameters.AddWithValue("?", "%" & keyword & "%")

            Dim dt As New DataTable()
            Dim da As New OleDbDataAdapter(cmd)
            da.Fill(dt)

            DataGridView1.DataSource = dt
        Catch ex As Exception
            MessageBox.Show("خطأ في البحث: " & ex.Message, "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub
End Class