Membuat Input Berbasis WinForm C# dan DB SQL Server

0
31

Pada kesempatan kali ini, kita akan belajar membuat prosedur input, edit dan delete data sederhana dengan WinForm C# dan SQL Server. Studi kasus yang digunakan adalah input data siswa. Dalam uji coba ini, kita menggunakan Visual Studio 2010 dan SQL Server 2012.

Sebelum memulai, kita hendaknya sudah memastikan bahwa Ms. Visual Studio kita dan SQL Server telah berjalan dengan baik. Selanjutnya, kita persiapkan database-nya di SQL Server terlebih dahulu melalui SQL Server Management Studio.

Pertama, kita buat database bernama “School” di dalam SQL Server melalui SQL Server Management Studio. Setelah itu, di dalamnya, kita membuat tabel bernama “Student” dengan struktur sebagaimana dengan gambar di bawah.

Selanjutnya, sebagai record tabel “Student”, kita masukkan beberapa data sampel untuk uji coba nantinya. Inputan yang dimasukkan silakan sesuaikan dengan kebutuhan.

Apabila sudah selesai, kita berpindah ke Ms. Visual Studio dan membuat project berbasis Windows Form di sana. Silakan pilih nama project sesuai dengan selera masing-masing. Adapun struktur GUI atau tampilan window yang kita buat adalah sebagaimana gambar di bawah ini.

Secara garis besar, komponen yang kita butuhkan antara lain :

  1. TextBox : NISN, Nama Siswa, Tempat Lahir, Alamat, dan No. Hp
  2. ComboBox : Jenis Kelamin (Diisi pilihan “Laki-Laki” dan “Perempuan”), Status (Diisi pilihan “Active” dan “Inactive”)
  3. DateTimePicker : Tanggal Lahir
  4. DataGridView : Tabel untuk menampilkan data siswa

Untuk datagridview, agar kolom tabel dari database-nya tampil dan bisa kita sesuaikan judul headernya, kita perlu menghubungkannya dengan data source yang terkoneksi dengan data di SQL Server.

Berikut source code lengkap pada winform input “Student” ini beserta komponen yang ada di dalamnya. Silakan sesuaikan dengan nama komponen-komponen yang ada pada winform masing-masing.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace _2024_02_19_
{
public partial class Student : Form
{
//public string constring = @"Data Source=LENOVO-PC;Initial Catalog=School;Integrated Security=True";
public string constring = @"Data Source=DESKTOP-LG5JEVK\MSSQL2024;Initial Catalog=School;Integrated Security=True";

public Student()
{
InitializeComponent();
}

private void btnInsert_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand("insert into Student values (@nisn,@nama,@jk,@bp,@bd,@addr,@hp,@stat)", con);
cmd.Parameters.AddWithValue("@nisn", txtNisn.Text);
cmd.Parameters.AddWithValue("@nama", txtNama.Text);
cmd.Parameters.AddWithValue("@jk", cbJk.Text);
cmd.Parameters.AddWithValue("@bp", txtBp.Text);
cmd.Parameters.AddWithValue("@bd", DateTime.Parse(dateTimePicker1.Text));
cmd.Parameters.AddWithValue("@addr", txtAddr.Text);
cmd.Parameters.AddWithValue("@hp", txtHp.Text);
cmd.Parameters.AddWithValue("@stat", cbStatus.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Rekam Data Berhasil.");
txtNisn.Text = "";
txtNama.Text = "";
cbJk.Text = "";
txtBp.Text = "";
dateTimePicker1.Text = "";
txtAddr.Text = "";
txtHp.Text = "";
cbStatus.Text = "";

}

private void btnShow_Click(object sender, EventArgs e)
{
//Menampilkan data dari tabel Student ke dataGridView
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT * FROM Student", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}

private void Student_Load(object sender, EventArgs e)
{
// TODO: This line of code loads data into the 'schoolDS_Student.Student' table. You can move, or remove it, as needed.
this.studentTableAdapter.Fill(this.schoolDS_Student.Student);
// TODO: This line of code loads data into the 'schoolDataSet.Student' table. You can move, or remove it, as needed.

}

private void btnDelete_Click(object sender, EventArgs e)
{// Kode pada Button untuk menghapus data pada tabel Student
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand("Delete Student Where nisn=@nisn", con);
cmd.Parameters.AddWithValue("@nisn", txtNisn.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Penghapusan Data Berhasil.");

}

private void btnUpdate_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand("update Student set nmStud=@nama,jkStud=@jk,bpStud=@bp,bdStud=@bd,addrStud=@addr,hpStud=@hp,statStud=@stat where nisn=@nisn", con);

cmd.Parameters.AddWithValue("@nisn", txtNisn.Text);
cmd.Parameters.AddWithValue("@nama", txtNama.Text);
cmd.Parameters.AddWithValue("@jk", cbJk.Text);
cmd.Parameters.AddWithValue("@bp", txtBp.Text);
cmd.Parameters.AddWithValue("@bd", DateTime.Parse(dateTimePicker1.Text));
cmd.Parameters.AddWithValue("@addr", txtAddr.Text);
cmd.Parameters.AddWithValue("@hp", txtHp.Text);
cmd.Parameters.AddWithValue("@stat", cbStatus.Text);
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("Update Data Berhasil.");
txtNisn.Text = "";
txtNama.Text = "";
cbJk.Text = "";
txtBp.Text = "";
dateTimePicker1.Text = "";
txtAddr.Text = "";
txtHp.Text = "";
cbStatus.Text = "";
}

private void btnSearch_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(constring);
con.Open();
SqlCommand cmd = new SqlCommand("Select * from Student where nisn=@nisn", con);
cmd.Parameters.AddWithValue("@nisn", txtNisn.Text);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
}

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
txtNisn.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
txtNama.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
cbJk.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
txtBp.Text = dataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString();
dateTimePicker1.Text = dataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString();

txtAddr.Text = dataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString();
txtHp.Text = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();
cbStatus.Text = dataGridView1.Rows[e.RowIndex].Cells[7].Value.ToString();
}
}
}

Link Unduh SOURCE CODE PROJECT

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here