How to Auto Search Data From Database in C# .Net

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Data;  
  5. using System.Drawing;  
  6. using System.Linq;  
  7. using System.Text;  
  8. using System.Windows.Forms;  
  9. using System.Data.OleDb;  
  10. namespace ClientManagementApp  
  11. {  
  12.    public partial class SearchClient : Form  
  13.    {  
  14.       DataSet dstResults = new DataSet();  
  15.       DataView myView;  
  16.       public SearchClient()  
  17.       {  
  18.          InitializeComponent();  
  19.       }  
  20.       public static OleDbConnection conection()  
  21.       {  
  22.          OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ClientMgmtDb.accdb;");  
  23.          if (con.State == ConnectionState.Closed)  
  24.          con.Open();  
  25.          return con;  
  26.       }  
  27.       private void txtSearch_KeyUp(object sender, KeyEventArgs e)  
  28.       {  
  29.          string outputInfo = "";  
  30.          string[] keyWords = txtSearch.Text.Split(' ');  
  31.          foreach (string word in keyWords)  
  32.          {  
  33.             if (outputInfo.Length == 0)  
  34.             {  
  35.                outputInfo = "(BankName LIKE '%" + word + "%' OR ContactPersonName LIKE '%" +  
  36. word + "%' OR ContactNumber LIKE '%" + word + "%')";  
  37.             }  
  38.             else  
  39.             {  
  40.                outputInfo += " AND (BankName LIKE '%" + word + "%' OR ContactPersonName LIKE '%" +  
  41. word + "%' OR ContactNumber LIKE '%" + word + "%')";  
  42.             }  
  43.          }  
  44.          myView.RowFilter = outputInfo;  
  45.       }  
  46.       private void SearchClient_Load(object sender, EventArgs e)  
  47.       {  
  48.          ////OleDbConnection con = conection();  
  49.          ////OleDbCommand cmd;  
  50.          //////DataSet ds=new DataSet();  
  51.          ////DataTable ds = new DataTable();  
  52.          ////string str = "select * from tbl_ClientDetails";  
  53.          ////cmd = new OleDbCommand(str, con);  
  54.          ////OleDbDataAdapter da = new OleDbDataAdapter(cmd);  
  55.          //////da.Fill(ds, "default");  
  56.          ////da.Fill(ds);  
  57.          ////dataGridView1.DataSource = ds;  
  58.          ////con.Close();  
  59.          ReadData("SELECT * FROM tbl_ClientDetails",  
  60.          ref dstResults, "BankName");  
  61.          myView = ((DataTable)dstResults.Tables["BankName"]).DefaultView;  
  62.          dataGridView1.DataSource = myView;  
  63.       }  
  64.       public void ReadData(string strSQL, ref DataSet dstMain, string strTableName = "default")  
  65.       {  
  66.          try  
  67.          {  
  68.             string connectionString = @" Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ClientMgmtDb.accdb;";  
  69.             // OleDbConnection cnn = conection();  
  70.             OleDbConnection cnn = new OleDbConnection(connectionString);  
  71.             OleDbCommand cmd = new OleDbCommand(strSQL, cnn);  
  72.             cnn.Open();  
  73.             OleDbDataAdapter da = new OleDbDataAdapter(cmd);  
  74.             da.Fill(dstMain, strTableName);  
  75.             da.Dispose();  
  76.             cnn.Close();  
  77.          }  
  78.          catch (Exception ex)  
  79.          {  
  80.             Console.WriteLine(ex.ToString());  
  81.          }  
  82.       }  
  83.       private void txtSearch_TextChanged(object sender, EventArgs e)  
  84.       {  
  85.          txtSearch.BackColor = System.Drawing.Color.Yellow;  
  86.       }  
  87.       private void dt_PaymentRecvdDate_KeyUp(object sender, KeyEventArgs e)  
  88.       {  
  89.          string outputInfo = "";  
  90.          string[] keyWords = dt_PaymentRecvdDate.Text.Split(' ');  
  91.          foreach (string word in keyWords)  
  92.          {  
  93.             if (outputInfo.Length == 0)  
  94.             {  
  95.                outputInfo = "(PayementRecievedDate LIKE '%" + word + "%' OR ContactPersonName LIKE '%" +  
  96. word + "%' OR InstalledDate LIKE '%" + word + "%')";  
  97.             }  
  98.             else  
  99.             {  
  100.                outputInfo += " AND (PayementRecievedDate LIKE '%" + word + "%' OR ContactPersonName LIKE '%" +  
  101. word + "%' OR InstalledDate LIKE '%" + word + "%')";  
  102.             }  
  103.          }  
  104.          myView.RowFilter = outputInfo;  
  105.       }  
  106.    }  
  107. }