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

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

مثال لكيفية تنفيذ عملية بحث باستخدام ComboBox في تطبيق C#:

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

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


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

كود C# كامل:

PHP كود :
using System;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;

public 
partial class Form1 Form
{
 
   OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MyDatabase.accdb");

 
   public Form1()
 
   {
 
       InitializeComponent();

 
       cmbSearchBy.Items.Add("ProductName");
 
       cmbSearchBy.Items.Add("Category");
 
       cmbSearchBy.Items.Add("Company");
 
       cmbSearchBy.SelectedIndex 0;

 
       // تحميل كل المنتجات
 
       LoadAllProducts();
 
   }

 
   private void LoadAllProducts()
 
   {
 
       try
        
{
 
           DataTable dt = new DataTable();
 
           OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM Products"conn);
 
           da.Fill(dt);
 
           dataGridView1.DataSource dt;
 
       }
 
       catch (Exception ex)
 
       {
 
           MessageBox.Show("خطأ في تحميل البيانات: " ex.Message"خطأ"MessageBoxButtons.OKMessageBoxIcon.ErrorMessageBoxDefaultButton.Button1MessageBoxOptions.RightAlign MessageBoxOptions.RtlReading);
 
       }
 
   }

 
   private void btnSearch_Click(object senderEventArgs e)
 
   {
 
       string searchBy cmbSearchBy.SelectedItem.ToString();
 
       string keyword txtSearch.Text.Trim();

 
       string query "SELECT * FROM Products WHERE [" searchBy "] LIKE ?";

 
       try
        
{
 
           OleDbCommand cmd = new OleDbCommand(queryconn);
 
           cmd.Parameters.AddWithValue("?""%" keyword "%");

 
           DataTable dt = new DataTable();
 
           OleDbDataAdapter da = new OleDbDataAdapter(cmd);
 
           da.Fill(dt);

 
           dataGridView1.DataSource dt;
 
       }
 
       catch (Exception ex)
 
       {
 
           MessageBox.Show("خطأ في البحث: " ex.Message"خطأ"MessageBoxButtons.OKMessageBoxIcon.ErrorMessageBoxDefaultButton.Button1MessageBoxOptions.RightAlign MessageBoxOptions.RtlReading);
 
       }
 
   }