.Net C# – CRUD Database Text File (Update dan Delete)

بِسْمِ اللَّهِ Mudah-mudahan Tutorial .Net C# – CRUD Database Text File (Update dan Delete) ini bermanfaat

Setelah menyelesaikan tutorial tambah data, tombol navigasi dan juga pencarian pada database text file. Melanjutkan tutorial sebelumnya, disini saya akan berbagi masih tentang CRUD yaitu Update dan Delete data.

Persiapan .Net C# – CRUD Database Text File (Update dan Delete)

Yang harus ada:

Microsoft Visual Studio 2010
Buat project seperti yang sudah dikerjakan pada tutorial .Net – Membuat project baru dengan Microsoft Visual Studio 2010
Mengerjakan tutorial tambah data yaitu di .Net C# – Membuat CRUD dengan Database Text File
Mengerjakan tutorial tombol navigasi dan juga pencarian pada database text file

Pertama

Kita mulai dengan menyiapkan fungsi pada Class DataUser.cs. Untuk mempermudah sebut saja nama fungsinya Update dan Delete, scriptnya sebagai berikut:

        public bool Update(int id, string usernm, string passwd)
        {
            int count = 0;
            CreateFile();
            try
            {
                fs = new FileStream(data_path, FileMode.Open);
                sr = new StreamReader(fs);

                string temp = "";
                string temp2 = "";
                while ((temp = sr.ReadLine()) != null)
                {

                    if (count == id)
                    {
                        temp2 += usernm + ";" + passwd + "\r\n";
                    }
                    else
                    {
                        temp2 += (temp + "\r\n");
                    }
                    count++;

                }
                sr.Close();
                fs.Close();

                fs = new FileStream(data_path, FileMode.Create);
                sw = new StreamWriter(fs);
                sw.Write(temp2);
                sw.Close();
                fs.Close();
                return true;
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.Message);
                return false;
            }
        }
        public bool Delete(int id)
        {
            int count = 0;
            CreateFile();
            try
            {
                fs = new FileStream(data_path, FileMode.Open);
                sr = new StreamReader(fs);

                string temp = "";
                string temp2 = "";
                while ((temp = sr.ReadLine()) != null)
                {

                    if (count != id)
                    {
                        temp2 += (temp + "\r\n");
                    }
                    count++;

                }
                sr.Close();
                fs.Close();

                fs = new FileStream(data_path, FileMode.Create);
                sw = new StreamWriter(fs);
                sw.Write(temp2);
                sw.Close();
                fs.Close();
                return true;
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.Message);
                return false;
            }
        }
  • Fungsi Update membutuhkan 3 parameter yaitu id, usernm dan passwd. Variabel id diperlukan untuk mengetahui index/posisi dari record yang keberapa yang akan diedit. Metode yang digunakan adalah menghapus dan membuat file text yang baru. Sebelum dihapus semua data diambil terlebih dahulu kemudian untuk data dengan id yang ada diparameter diganti dengan data yang ada diparameter (usernm dan passwd)
  • Fungsi Delete membutuhkan 1 parameter yaitu id (index/posisi dari record yang akan dihapus). Metodenya sama dengan fungsi Update yaitu menghapus dan membuat file text yang baru. Bedanya adalah mengambil data dari file sebelumnya kecuali data dengan id yang ada di parameter.

Kedua

Kemudian ke bagian desain form tidak perlu ada perubahan.

Ketiga

Masuk ke bagian coding. Untuk sekedar mengingatkan pada tutorial tambah data pada database text file kita sudah membuat tombol button6 dan button4, dengan masing-masing mempunyai nama fungsi button6_Click dan button4_Click bergantung dengan pemberian nama pada tombol. Kebetulan nama tombol yang saya buat adalah :

button6 yang nantinya akan mempunyai 3 fungsi yaitu:

  • Tombol Add untuk mengosongkan tampilan dan mengubah nilai label1 menjadi 1
  • Tombol Save untuk menyimpan data baru
  • Tombol Update untuk menyimpan data hasil edit

button4 mempunyai 2 fungsi yaitu:

  • Tombol Edit untuk mengubah nilai label1 menjadi 2
  • Tombol Cancel untuk membatalkan Add dan Edit

Langsung saja isi coding sebagai berikut:

        private void button6_Click(object sender, EventArgs e)
        {
            if (button6.Text == "Add") 
            {
                txtUserName.ReadOnly = false;
                txtPassword.ReadOnly = false;
                txtConfirm.ReadOnly = false;
                txtUserName.TabStop = true;
                txtPassword.TabStop = true;
                txtConfirm.TabStop = true;

                txtUserName.Text = "";
                txtPassword.Text = "";
                txtConfirm.Text = "";
                label1.Text = "1";
                button6.Text = "Save";
                button4.Text = "Cancel";
            }
            else
            {
                string strError = "";
                if (txtUserName.Text.ToString().Trim() == "")
                {
                    strError = "User Name";
                }

                if (txtPassword.Text.ToString().Trim() == "")
                {
                    strError = (strError.Trim() == "" ? "" : strError + ", ") + "Password";
                }

                if (txtConfirm.Text.ToString().Trim() == "")
                {
                    strError = (strError.Trim() == "" ? "" : strError + ", ") + "Confirm";
                }

                if (strError != "")
                {
                    MessageBox.Show(strError + " is required field", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }

                if (txtPassword.Text.ToString().Trim() != txtConfirm.Text.ToString().Trim())
                {
                    MessageBox.Show("Password not equal Confirm !", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    return;
                }
                if (label1.Text == "1")
                {
                    if (conDB.Find(txtUserName.Text.ToString()))
                    {
                        MessageBox.Show("Duplicate User!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        return;
                    }
                    else
                    {
                        conDB.Insert(txtUserName.Text, Modules.Encrypt(txtPassword.Text));
                        MessageBox.Show("User saved", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ReadData(Convert.ToInt32(this.txtRow.Text));
                    }
                }
                else if (label1.Text == "2")
                {
                    int id = 99999;
                    bool findUser = conDB.Find(txtUserName.Text.ToString(), ref id);
                    if (findUser == true && (id != Convert.ToInt32(txtRow.Text)-1))
                    {
                        MessageBox.Show("Duplicate User!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                        return;
                    }
                    else
                    {
                        conDB.Update(Convert.ToInt32(txtRow.Text)-1, txtUserName.Text, Modules.Encrypt(txtPassword.Text));
                        MessageBox.Show("User updated", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        ReadData(Convert.ToInt32(this.txtRow.Text));
                    }
                }
                txtUserName.ReadOnly = true;
                txtPassword.ReadOnly = true;
                txtConfirm.ReadOnly = true;
                txtUserName.TabStop = false;
                txtPassword.TabStop = false;
                txtConfirm.TabStop = false;

                button6.Text = "Add";
                button4.Text = "Edit";
                label1.Text = "0";
            }            
            
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (button6.Text == "Add")
            {
                button6.Text = "Update";
                button4.Text = "Cancel";

                txtUserName.ReadOnly = false;
                txtPassword.ReadOnly = false;
                txtConfirm.ReadOnly = false;
                txtUserName.TabStop = true;
                txtPassword.TabStop = true;
                txtConfirm.TabStop = true;

                label1.Text = "2";
            }
            else
            {
                txtUserName.ReadOnly = true;
                txtPassword.ReadOnly = true;
                txtConfirm.ReadOnly = true;
                txtUserName.TabStop = false;
                txtPassword.TabStop = false;
                txtConfirm.TabStop = false;

                button6.Text = "Add";
                button4.Text = "Edit";
                label1.Text = "0";
            }    
        }

Akhirnya

Berikut tampilan

Setelah klik tombol Edit tampilannya akan seperti ini

Silakan dicoba dan sampai disini sudah selesai untuk Tutorial .Net C# – CRUD Database Text File (Update dan Delete).

Atau kalau sudah ada gambaran silakan dilanjutkan dan dikembangkan lagi

Mudah-mudahan bermanfaat.

Share

You may also like...