C# CRUD MYSQL SERVER XAMPP

 


    SCHOOL (SEKOLAH ) PROGRAM SAMPLE

C# WITH MYSQL SERVER XAMPP

Bismillah
Pada tahap awal ini untuk membuat aplikasi C# with MySql Server Xampp kita membutuhkan beberapa toll diantara nya adalah :
Visual Studio 2022  Link Download / Download
MYSQL SERVER XAMPP Link Download

Mysql Server Xampp menggunakan versi Bintami xampp-windows-x64-8.2.12-0-VS16-installer
Tampilan Xampp Control Panel V.3.3.0 saat di Running  start dijalan : 
Dalam Pembuatan databese Mysql Server Xampp pada kali menggunakan Google Chrome dan boleh dengan Browser lain dengan mengetikkan :http://localhost/phpmyadmin/ seperti gambar berikut:
Dalam pembuatan Database kali ini dengan nama data_siswa klik tombol buat seperti gambar berikut:
Tabel - tabel yang digunakan dalam database data_siswa antara lain :
- TABLE `guru`
- TABLE `mapel`
- TABLE `nilai`
- TABLE `siswa`
- TABLE `users`
- TABLE `vmapel`
- TABLE `vnilai`
Link Download Database 
Dengan Sql Query sebagai berikut : data_siswa.sql

- TABLE `guru`
--------------------
CREATE TABLE `guru` (
  `id` int(4) NOT NULL,
  `nama` varchar(100) NOT NULL,
  `nip` varchar(25) NOT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
---------------------------------------------------------------------------------------------------------
- TABLE `mapel`
---------------------
CREATE TABLE `mapel` (
  `id` int(4) NOT NULL,
  `nama_mapel` varchar(50) NOT NULL,
  `kode_mapel` varchar(10) NOT NULL,
  `guru_id` int(4) NOT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
---------------------------------------------------------------------------------------------------------
- TABLE `nilai`
-------------------
CREATE TABLE `nilai` (
  `id` int(6) NOT NULL,
  `siswa_id` int(4) NOT NULL,
  `mapel_id` int(3) NOT NULL,
  `nilai` int(11) NOT NULL DEFAULT 0,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
--------------------------------------------------------------------------------------------------------
- TABLE `siswa
---------------------
CREATE TABLE `siswa` (
  `id` int(4) NOT NULL,
  `nama` varchar(150) NOT NULL,
  `jenkel` varchar(10) NOT NULL,
  `alamat` varchar(255) NOT NULL,
  `nohp` varchar(18) NOT NULL,
  `jurusan` varchar(15) NOT NULL,
  `email` varchar(20) NOT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
----------------------------------------------------------------------------------------------------
- TABLE `users`
-----------------------
CREATE TABLE `users` (
  `id` int(4) NOT NULL,
  `name` varchar(150) NOT NULL,
  `email` varchar(25) NOT NULL,
  `email_verified_at` timestamp NULL DEFAULT NULL,
  `password` varchar(255) NOT NULL,
  `level` varchar(15) NOT NULL,
  `created_at` timestamp NULL DEFAULT current_timestamp(),
  `updated_at` timestamp NULL DEFAULT NULL ON UPDATE current_timestamp()
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
----------------------------------------------------------------------------------------------------
- TABLE `vmapel`
-----------------------
CREATE TABLE `vmapel` (
`id` int(4)
,`nama_mapel` varchar(50)
,`kode_mapel` varchar(10)
,`nama` varchar(100)
);
----------------------------------
- TABLE `vnilai`
--------------------
CREATE TABLE `vnilai` (
`id` int(6)
,`nama` varchar(150)
,`jurusan` varchar(15)
,`nama_mapel` varchar(50)
,`guru` varchar(100)
,`nilai` int(11)
);
--------------------------------
Berikut tampilan Design Form pada SCHOOL (SEKOLAH ) PROGRAM SAMPLE yang kita gunakan dari Form Login,Form Menu dan Form lainnya :
Form Login
Form Dashboard
Form Siswa
Form Guru
Form Mapel
Form Nilai
Source code program sebagai berikut :
Form Login
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace sekolah
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public MySqlCommand cmd { get; private set; }
        public MySqlDataReader dr { get; private set; }

        private void btlogin_Click(object sender, EventArgs e)
        {
 Koneksi.conn.Open();
 String query = "SELECT * FROM `users` WHERE `email` = '" + txtusername.Text + "' AND `password` = '" + txtpassword.Text + "'";
            cmd = new MySqlCommand(query, Koneksi.conn);
            dr = cmd.ExecuteReader();

            try
            {
                if (dr.Read())
                {
                    new Dashboard().Show();
                    this.Hide();
                }
                else
                {
                    MessageBox.Show("Ups! Username atau Password anda Salah");
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Ups! Gagal Login");
            }
            Koneksi.conn.Close();
        }
    }
}
----------------------------------------------------------------------------------------------------------------------------
Form Dashboard
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace sekolah
{
    public partial class Dashboard : Form
    {
        public Dashboard()
        {
            InitializeComponent();
        }
        private void btsiswa_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();
            panel3.Visible = false;
            Siswa FormAktif = new Siswa();
            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Siswa";
        }
        private void btguru_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();
            panel3.Visible = false;
            Guru FormAktif = new Guru();
            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Guru";
        }
        private void btmapel_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();
            panel3.Visible = false;
            Mapel FormAktif = new Mapel();
            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Mata Pelajaran";
        }
        private void btnilai_Click(object sender, EventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();
            panel3.Visible = false;
            Nilai FormAktif = new Nilai();
            FormAktif.MdiParent = this;
            FormAktif.Show();
            label1.Text = "Kelola Data Nilai";
        }
        private void panel4_Paint(object sender, PaintEventArgs e)
        {
            if (ActiveMdiChild != null)
                ActiveMdiChild.Close();
            panel3.Visible = true;
            label1.Text = "Aplikasi Pendataan Nilai";
        }
        private void btlogout_Click(object sender, EventArgs e)
        {
            new Form1().Show();
            this.Hide();
        }
    }
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Form Siswa
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
using Mysqlx.Crud;
namespace sekolah
{
    public partial class Siswa : Form
    {
        public MySqlCommand cmd { get; private set; }
        public string id { get; private set; }
        private void Tampil()
        {
            try
            {
                //MessageBox.Show("Ini Muncul Saat Form dipanggil");
                Koneksi.conn.Open(); //ini membuka koneksi database
                //ini digunakan untuk mengambil data di tabel siswa
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `data_siswa`.`siswa`", Koneksi.conn);
                //membuat objek Dasa Set Baru
                DataSet ds = new DataSet();
                //ini digunakan untuk mengisi dataset dari Data Adapter
                da.Fill(ds);
                //Mengisi DataGrid Siswa dengan DataSet
                dgsiswa.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
        public Siswa()
        {
            InitializeComponent();
        }
        private void Siswa_Load(object sender, EventArgs e)
        {
            Tampil();
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
        }
        private void Clear()
        {
            txtnama.Text = "";
            txtalamat.Text = "";
            txtemail.Text = "";
            txtjurusan.Text = "";
            txtnohp.Text = "";
            txtcari.Text = "";
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
            btInsert.Enabled = true;
        }
        private void btInsert_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "INSERT INTO siswa (`nama`, `jenkel`, `alamat`, `nohp`, `jurusan`, `email`) VALUES ('" + txtnama.Text + "', '" + cbkelamin.Text + "', '" + txtalamat.Text + "', '" + txtnohp.Text + "', '" + txtjurusan.Text + "', '" + txtemail.Text + "')";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Simpan Data Siswa");
                Koneksi.conn.Close();
                Tampil(); //memanggil method Tampil
                Clear(); //memanggil method Clear
            }
            catch (Exception)
            {
                MessageBox.Show("Tambah Data Gagal");
            }
        }
        private void dgsiswa_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            btDelete.Enabled = true;
            btUpdate.Enabled = true;
            btCancel.Enabled = true;
            btInsert.Enabled = false;
            int baris = dgsiswa.CurrentCell.RowIndex;
            id = dgsiswa.Rows[baris].Cells[0].Value.ToString();
            txtnama.Text = dgsiswa.Rows[baris].Cells[1].Value.ToString();
            cbkelamin.Text = dgsiswa.Rows[baris].Cells[2].Value.ToString();
            txtalamat.Text = dgsiswa.Rows[baris].Cells[3].Value.ToString();
            txtnohp.Text = dgsiswa.Rows[baris].Cells[4].Value.ToString();
            txtjurusan.Text = dgsiswa.Rows[baris].Cells[5].Value.ToString();
            txtemail.Text = dgsiswa.Rows[baris].Cells[6].Value.ToString();
        }
        private void btUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "UPDATE siswa SET `nama`='" + txtnama.Text + "', `jenkel`='" + cbkelamin.Text + "', `alamat`='" + txtalamat.Text + "', `    nohp`='" + txtnohp.Text + "', `jurusan`='" + txtjurusan.Text + "', `email`='" + txtemail.Text + "' WHERE  `id`='" + id + "'";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Update Data Siswa");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Update Gagal");
            }
        }
        private void btDelete_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                cmd = new MySqlCommand("DELETE FROM siswa WHERE  `id`= '" + id + "'", Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Hapus Data Siswa");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Hapus Data Gagal");
            }
        }
        private void btCancel_Click(object sender, EventArgs e)
        {
            Clear();
        }
        private void txtcari_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `siswa` where nama LIKE '%" + txtcari.Text + "%'", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgsiswa.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
    }
}
-----------------------------------------------------------------------------------------------------------------------------
Form Guru
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace sekolah
{
    public partial class Guru : Form
    {
        public MySqlCommand cmd { get; private set; }
        public string id { get; private set; }
        private void Tampil()
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `guru`", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgguru.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
        public Guru()
        {
            InitializeComponent();
        }
        private void Guru_Load(object sender, EventArgs e)
        {
            Tampil();
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
        }
        private void Clear()
        {
            txtnama.Text = "";
            txtnip.Text = "";
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
            btInsert.Enabled = true;
        }
        private void btInsert_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "INSERT INTO guru (`nama`, `nip`) VALUES ('" + txtnama.Text + "', '" + txtnip.Text + "')";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Simpan Data Guru");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Tambah Data Gagal");
            }
        }
        private void dgguru_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            btDelete.Enabled = true;
            btUpdate.Enabled = true;
            btCancel.Enabled = true;
            btInsert.Enabled = false;
            int baris = dgguru.CurrentCell.RowIndex;
            id = dgguru.Rows[baris].Cells[0].Value.ToString();
            txtnama.Text = dgguru.Rows[baris].Cells[1].Value.ToString();
            txtnip.Text = dgguru.Rows[baris].Cells[2].Value.ToString();
        }
        private void btUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "UPDATE guru SET `nama`='" + txtnama.Text + "', `nip`='" + txtnip.Text + "' WHERE  `id`='" + id + "'";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Update Data Guru");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Update Gagal");
            }
        }
        private void btDelete_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                cmd = new MySqlCommand("DELETE FROM guru WHERE  `id`= '" + id + "'", Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Hapus Data Guru");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Hapus Data Gagal");
            }
        }
        private void btCancel_Click(object sender, EventArgs e)
        {
            Clear();
        }
        private void txtcari_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `guru` where nama LIKE '%" + txtcari.Text + "%'", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgguru.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
    }
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Form Mapel
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;
namespace sekolah
{
    public partial class Mapel : Form
    {
        public MySqlCommand cmd { get; private set; }
        public string id { get; private set; }
        private void Tampil()
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `vmapel`", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgmapel.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
        public Mapel()
        {
            InitializeComponent();
        }
        private void Mapel_Load(object sender, EventArgs e)
        {
            Tampil();
            MySqlDataAdapter adp = new MySqlDataAdapter("select * from guru", Koneksi.conn);
            DataTable dt = new DataTable();
            adp.Fill(dt);
            cbnamaguru.DataSource = dt;
            cbnamaguru.DisplayMember = "nama";
            cbnamaguru.ValueMember = "id";
        }
        private void Clear()
        {
            txtnamamapel.Text = "";
            txtkodemapel.Text = "";
            txtcari.Text = "";
            cbnamaguru.Text = "";
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
            btInsert.Enabled = true;
        }
        private void btInsert_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "INSERT INTO mapel (`nama_mapel`, `kode_mapel`, `guru_id`) VALUES ('" + txtnamamapel.Text + "', '" + txtkodemapel.Text + "', '" + cbnamaguru.SelectedValue + "')";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Simpan Data Mapel");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Tambah Data Gagal");
            }
        }
        private void dgmapel_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            btDelete.Enabled = true;
            btUpdate.Enabled = true;
            btCancel.Enabled = true;
            btInsert.Enabled = false;
            int baris = dgmapel.CurrentCell.RowIndex;
            id = dgmapel.Rows[baris].Cells[0].Value.ToString();
            txtnamamapel.Text = dgmapel.Rows[baris].Cells[1].Value.ToString();
            txtkodemapel.Text = dgmapel.Rows[baris].Cells[2].Value.ToString();
            cbnamaguru.Text = dgmapel.Rows[baris].Cells[3].Value.ToString();
        }
        private void btUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "UPDATE mapel SET `nama_mapel`='" + txtnamamapel.Text + "', `kode_mapel`='" + txtkodemapel.Text + "', `guru_id`='" + cbnamaguru.SelectedValue + "' WHERE  `id`='" + id + "'";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Update Data Guru");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Update Gagal");
            }
        }
        private void btDelete_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                cmd = new MySqlCommand("DELETE FROM mapel WHERE  `id`= '" + id + "'", Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Hapus Data mapel");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Hapus Data Gagal");
            }
        }
        private void btCancel_Click(object sender, EventArgs e)
        {
            Clear();
        }
        private void txtcari_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `vmapel` where nama_mapel LIKE '%" + txtcari.Text + "%'", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgmapel.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
    }
 }
----------------------------------------------------------------------------------------------------------------------------------------------------------
Form Nilai
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySql.Data.MySqlClient;

namespace sekolah
{
    public partial class Nilai : Form
    {
        public MySqlCommand cmd { get; private set; }
        public string id { get; private set; }
        private void Tampil()
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `vnilai`", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgnilai.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
        public Nilai()
        {
            InitializeComponent();
        }
        private void Nilai_Load(object sender, EventArgs e)
        {
            Tampil();
            MySqlDataAdapter adp = new MySqlDataAdapter("select * from mapel", Koneksi.conn);
            DataTable dt = new DataTable();
            adp.Fill(dt);
            cbmapel.DataSource = dt;
            cbmapel.DisplayMember = "nama_mapel";
            cbmapel.ValueMember = "id";
            MySqlDataAdapter adp2 = new MySqlDataAdapter("select * from siswa", Koneksi.conn);
            DataTable dt2 = new DataTable();
            adp2.Fill(dt2);
            cbsiswa.DataSource = dt2;
            cbsiswa.DisplayMember = "nama";
            cbsiswa.ValueMember = "id";
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
        }
        private void Clear()
        {
            cbmapel.Text = "";
            cbsiswa.Text = "";
            txtnilai.Text = "";
            txtcari.Text = ""
            btDelete.Enabled = false;
            btUpdate.Enabled = false;
            btCancel.Enabled = false;
            btInsert.Enabled = true;
        }
        private void btInsert_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                String Queri = "INSERT INTO nilai (`siswa_id`, `mapel_id`, `nilai`) VALUES ('" + cbsiswa.SelectedValue + "','" + cbmapel.SelectedValue + "', '" + txtnilai.Text + "')";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Simpan Nilai Siswa");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Tambah Data Gagal");
            }
        }
        private void dgnilai_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            btDelete.Enabled = true;
            btUpdate.Enabled = true;
            btCancel.Enabled = true;
            btInsert.Enabled = false;
            int baris = dgnilai.CurrentCell.RowIndex;
            id = dgnilai.Rows[baris].Cells[0].Value.ToString();
            cbsiswa.Text = dgnilai.Rows[baris].Cells[1].Value.ToString();
            cbmapel.Text = dgnilai.Rows[baris].Cells[3].Value.ToString();
            txtnilai.Text = dgnilai.Rows[baris].Cells[5].Value.ToString();
        }
        private void btUpdate_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();

         String Queri = "UPDATE `nilai` SET `siswa_id`='" + cbsiswa.SelectedValue + "', `mapel_id`='" + cbmapel.SelectedValue + "', `nilai`='" + txtnilai.Text + "' WHERE  `id`='" + id + "'";
                cmd = new MySqlCommand(Queri, Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Update Data Siswa");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Update Gagal");
            }
        }
        private void btDelete_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                cmd = new MySqlCommand("DELETE FROM nilai WHERE  `id`= '" + id + "'", Koneksi.conn);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Berhasil Hapus Data Siswa");
                Koneksi.conn.Close();
                Tampil();
                Clear();
            }
            catch (Exception)
            {
                MessageBox.Show("Hapus Data Gagal");
            }
        }
        private void btCancel_Click(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `vnilai` where nama LIKE '%" + txtcari.Text + "%'", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgnilai.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
        private void txtcari_TextChanged(object sender, EventArgs e)
        {
            try
            {
                Koneksi.conn.Open();
                MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM `vnilai` where nama LIKE '%" + txtcari.Text + "%'", Koneksi.conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                dgnilai.DataSource = ds.Tables[0];
                Koneksi.conn.Close();
            }
            catch (Exception)
            {
                MessageBox.Show("Duh!!, Ada Error Nih");
            }
        }
    }
}
----------------------------------------------------------------------------------------------------------------------------------------------------------
Modul Class : Koneksi.cs
-------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
namespace sekolah
{
    internal class Koneksi
    {
        public static MySqlConnection conn = new MySqlConnection("Server=127.0.0.1;Port=3306;UID=root;PWD=;Database=data_siswa");
    }
}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Untuk koneksi ke Mysql Server Xampp Program SCHOOL (SEKOLAH ) PROGRAM SAMPLE menggunakan MySql.Data dalam koneksi koneksi database seperti gambar berikut
Dalam Visual Studio 2022 klik menu + pilih klik Nuget Package Manager + pilih Klik Manage Nugets Packages for Solutions maka akan tampil sebagai berikut :
Selanjutnya pilih Browse pada pencarian Search (Ctrl + L) ketikkan Mysql seperti tampilan berikut :
Lalu akan tampil MySql.Data by MySql, 12M download [MySql.Data.MySqlClient.Net Core Class Library] dan pilih klik dan akan tampil di sebelahnya dikanan Menu MySql Data lalu klik cek list project dan sekolah lalu klik Install.
Alhamdulillah 
Selamat Mencoba

Komentar

Postingan populer dari blog ini

Penjabaran Haluan

Radar Plotting

MANAJEMEN RISIKO K3