Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从文本框输入的关键字搜索数据库?在c中_C# - Fatal编程技术网

C# 如何从文本框输入的关键字搜索数据库?在c中

C# 如何从文本框输入的关键字搜索数据库?在c中,c#,C#,我有一个程序,用户可以输入一些数据,数据将被存储到我使用Ms Access的数据库中。但是,该程序也可以从数据库中搜索现有数据。用户可以从文本框中输入关键字,程序将显示数据库中的数据。 像这样: 用户将向Kd输入关键字或文本。Dosen文本框,然后它将显示数据库中包含该关键字的数据。以下是数据库: 有人能帮我怎么做吗 无论如何,我的代码如下: public partial class Form1 : Form { public Form1() {

我有一个程序,用户可以输入一些数据,数据将被存储到我使用Ms Access的数据库中。但是,该程序也可以从数据库中搜索现有数据。用户可以从文本框中输入关键字,程序将显示数据库中的数据。 像这样:

用户将向Kd输入关键字或文本。Dosen文本框,然后它将显示数据库中包含该关键字的数据。以下是数据库:

有人能帮我怎么做吗

无论如何,我的代码如下:

 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");
            }
        }
    }

您必须添加教科书更改选项,以双击要编写文本和筛选的教科书

private void txtCariKodu_TextChanged(object sender, EventArgs e)
        {
            FilterByName();
        }
您的方法包含一个变量,该变量是您的db查询,如SELECT*FROM YOUTRABLE,其中名称为%

现在,您可以在Datagridview上显示过滤后的值

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

                        dataGridView1.DataSource = result;
                }

您应该从UI代码中重构出数据库代码。把他们分开。遵循单一责任原则。如果在之前创建了按钮和事件,您应该重构它们,否则很难为您和其他人阅读代码。您可以使用ButtonAd、ButtonDelete等。我个人更喜欢命名ActionAdd和ActionDelete,因为它与用户体验更相关。用法还包括将本地命令变量命名为commandInsert或commandUpdate,或至少命名为cmdNew。同样,您也可以使用:strConnection或connectionString代替connect,connection代替vconnect。本地变量的良好命名可能是目标精确性,例如:indexYear或rowPerson或queryDelete。好的,谢谢您的建议