Jericho
Jericho

Reputation: 81

How to do a searching through database from a keyword inputted from textbox? in c#

I have a program which user can input some data and the data will be storaged into a database (i use Ms Access). But, the program also can do some search of existing data from database. User can input a keyword from textbox and the program will show the data from database. Like this:

kddosen

User will input a keyword or a text to "Kd. Dosen" textbox then it will show the data from database contains that keyword. Here is the database:

kddosen2

Can anybody help me how to do this?

Anyway, here's my code:

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button4_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {
            //stri
            string connect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\3rd Term\\VisualProgramming\\Projects\\PendataanDosen\\mhs.accdb";
            OleDbConnection vconnect = new OleDbConnection(connect);           
            string queryInsert = "insert into MstDosen (KdDosen, NaDosen, Alamat, NoTelp, NoHP)values (@kddosen, @namadosen, @alamat, @notelp, @nohp)";
            OleDbCommand vinsert = new OleDbCommand(queryInsert, vconnect);
            vinsert.Parameters.AddWithValue("@kddosen", textBox1.Text);
            vinsert.Parameters.AddWithValue("@namadosen", textBox2.Text);
            vinsert.Parameters.AddWithValue("@alamat", textBox3.Text);
            vinsert.Parameters.AddWithValue("@notelp", textBox4.Text);
            vinsert.Parameters.AddWithValue("@nohp", textBox5.Text);
            try
            {
                vconnect.Open();
                OleDbDataReader vdr = vinsert.ExecuteReader();
                MessageBox.Show("Data berhasil dimasukkan!");
            }
            catch
            {
                MessageBox.Show("Gagal memasukkan data");
            }
            finally
            {
                vconnect.Close();
            }             
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string connect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\3rd Term\\VisualProgramming\\Projects\\PendataanDosen\\mhs.accdb";
            OleDbConnection vconnect = new OleDbConnection(connect);
            string queryDelete = "update MstDosen set NaDosen = @namadosen, Alamat = @alamat, NoTelp = @notelp, NoHP = @nohp where KdDosen = @kddosen";
            OleDbCommand vinsert = new OleDbCommand(queryDelete, vconnect);
            vinsert.Parameters.AddWithValue("@kddosen", textBox1.Text);
            vinsert.Parameters.AddWithValue("@namadosen", textBox2.Text);
            vinsert.Parameters.AddWithValue("@alamat", textBox3.Text);
            vinsert.Parameters.AddWithValue("@notelp", textBox4.Text);
            vinsert.Parameters.AddWithValue("@nohp", textBox5.Text);
            try
            {
                vconnect.Open();
                OleDbDataReader vdr = vinsert.ExecuteReader();
                MessageBox.Show("Data berhasil diubah!");
            }
            catch
            {
                MessageBox.Show("Gagal mengubah data");
            }
            finally
            {
                vconnect.Close();
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            string connect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\3rd Term\\VisualProgramming\\Projects\\PendataanDosen\\mhs.accdb";
            OleDbConnection vconnect = new OleDbConnection(connect);
            string queryDelete = "delete from MstDosen where KdDosen = @kddosen";
            OleDbCommand vinsert = new OleDbCommand(queryDelete, vconnect);
            vinsert.Parameters.AddWithValue("@kddosen", textBox1.Text);
            //vinsert.Parameters.AddWithValue("@namadosen", textBox2.Text);
            //vinsert.Parameters.AddWithValue("@alamat", textBox3.Text);
            //vinsert.Parameters.AddWithValue("@notelp", textBox4.Text);
            //vinsert.Parameters.AddWithValue("@nohp", textBox2.Text);
            try
            {
                vconnect.Open();
                OleDbDataReader vdr = vinsert.ExecuteReader();
                MessageBox.Show("Data berhasil dihapus!");
            }
            catch
            {
                MessageBox.Show("Gagal menghapus data");
            }
            finally
            {
                vconnect.Close();
            }         
        }

        private void textBox1_MouseLeave(object sender, EventArgs e)
        {

        }

        private void button5_Click(object sender, EventArgs e)
        {
            DataList dat = new DataList();
            dat.Show();
        }

        public void insert()
        {
            if(textBox1.Text != "" && textBox2.Text != "")
            {
                string connect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\3rd Term\\VisualProgramming\\Projects\\PendataanDosen\\mhs.accdb";
                OleDbConnection vconnect = new OleDbConnection(connect);
                string queryinsert = "insert into MstDosen (KdDosen, NaDosen, Alamat, NoTelp, NoHP) values (@kddosen, @namadosen, @alamat, @notelp, @nohp)";
                OleDbCommand vinsert = new OleDbCommand(queryinsert, vconnect);
                vinsert.Parameters.AddWithValue("@kddosen", textBox1.Text);
                vinsert.Parameters.AddWithValue("@namadosen", textBox2.Text);
                vinsert.Parameters.AddWithValue("@alamat", textBox3.Text);
                vinsert.Parameters.AddWithValue("@notelp", textBox4.Text);
                vinsert.Parameters.AddWithValue("@nohp", textBox5.Text);
            }
            else
            {
                MessageBox.Show("Data Belum Dimasukkan");
            }
        }
    }

Upvotes: 0

Views: 176

Answers (1)

Kaan Karamanoğlu
Kaan Karamanoğlu

Reputation: 189

You have to add textbook_change option to double click textbook which you want to write text and filter.

private void txtCariKodu_TextChanged(object sender, EventArgs e)
        {
            FilterByName();
        }

your method is contains a variable which is your db query like (SELECT * FROM YOUTRABLE WHERE NAME LIKE % ).

and now you can show filtered values on your Datagridview.

 public void FilterByName()
                {
                        var result = YOURSQLQUERY.ToList();

                        dataGridView1.DataSource = result;
                }

Upvotes: 1

Related Questions