Sebelum membuat formnya yang dibuat terlebih dahulu yaitu database. Pada Kesempatan kali ini saya menggunakan database SQL Server 2008. querynya seperti dibawah ini :
create table matakuliah
(
kode_matkul char(6) not null primary key,
nama_matkul varchar(40) not null,
sks tinyint not null check(sks between 1 and 6),
prasyarat char(6) null,
semester tinyint not null check(semester between 1 and 8)
)
Penjelasan :
Sksnya hanya bisa diisi angka 1-6 dan tidak bisa diisi selain angka tersebut. Dan semester hanya bisa diisi angka 1-8.
Setelah membuat formnya kemudian membuat kelas Koneksi dengan cara klik kanan pada project => Add => Class => beri nama Koneksi. Pertama mengimportkan sql dengan menuliskan
using System.Data.SqlClient; setelah itu baru dikoding seperti dibawah :
class Koneksi
{
static string conn;
public static SqlConnection Conn
{
get
{
return new SqlConnection(conn);
}
}
static Koneksi()
{
string connStr = "server=localhost;" +
"database=MataKuliah;" +
"Integrated Security=TRUE";
conn = connStr;
}
}
Penjelasan :
-Server yaitu localhost karena database terdapat pada komputer local.
-Database yaitu nama database yang ingin dikoneksikan pada SQL Server 2008.
-Integrated Security TRUE karena pada komputer saya tidak menggunakan password apabila komputernya terdapat passwornya maka dituliskan juga User Id & Passwordnya.
Setelah Membuat kelas Koneksi yang berguna untuk mengkoneksikan dengan database selanjutnya membuat kelasFungsi seperti dibawah :
...
using System.Windows.Forms;
using System.Data;
using System.Data.SqlClient;
class Fungsi
{
static SqlConnection conn;
static SqlDataAdapter sdaUser;
static DataSet dsUser;
static SqlCommand cmd;
static SqlDataReader myreader;
public static int EQuery(string query)
{
conn = Koneksi.Conn;
cmd = new SqlCommand();
try
{
conn.Open();
cmd.Connection = conn;
cmd.CommandText = query;
int i = cmd.ExecuteNonQuery();
return i;
}
catch (SqlException ex)
{
return 0;
}
finally
{
conn.Close();
}
}
//Cek Ketersediaan Data
public static bool cekData(string query)
{
conn = Koneksi.Conn;
bool cek = true;
SqlCommand cmd = new SqlCommand(query, conn);
try
{
conn.Open();
myreader = cmd.ExecuteReader();
myreader.Read();
if (myreader.HasRows)
{
cek = true;
}
else
{
cek = false;
}
}
catch (Exception ex)
{
MessageBox.Show("Pengecekan data Error : " + ex.Message);
}
finally
{
if (myreader != null)
myreader.Close();
conn.Close();
}
return cek;
}
CekData ini yang berguna untuk validasi saat terdapat primary key yang sama yang berfungsi untuk mengecek data pada database.
Kelas Koneksi dan Fungsi ini sangat berguna dalam pembuatan program. Setelah membuat kelas Fungsi dan Koneksiselanjutnya adalah koding pada button Simpan dengan klik 2x pada button Simpan dan ketikkan koding di bawah :
private void btnSimpan_Click(object sender, EventArgs e)
{
if (txtKodeMK.Text == "")
{
MessageBox.Show("Isikan Kode Matakuliah!");
txtKodeMK.Focus();
}
else if (txtNamaMK.Text == "")
{
MessageBox.Show("Isikan Nama Matakuliah!");
txtNamaMK.Focus();
}
else if (cmbSKS.Text == "")
{
MessageBox.Show("Isikan SKS Matakuliah!");
cmbSKS.Focus();
}
else if (cmbSemester.Text == "")
{
MessageBox.Show("Isikan Semester Matakuliah!");
cmbSemester.Focus();
}
else
{
string query = "select * from matakuliah " +
"where kode_matkul = '" + txtKodeMK.Text + "'";
if (!Fungsi.cekData(query))
{
query = "insert into matakuliah " +
"values('"+ txtKodeMK.Text +"', '"+ txtNamaMK.Text +"', "+" "
+ cmbSKS.Text +",'" + txtPrasyarat.Text + "',"+""+ cmbSemester.Text +")";
int x = Fungsi.EQuery(query);
if (x == 1)
{
MessageBox.Show("Simpan Data Berhasil");
txtKodeMK.Clear();
txtKodeMK.Clear();
cmbSKS.Text = "";
txtPrasyarat.Clear();
cmbSemester.Text = "";
}
else
{
MessageBox.Show("Simpan Data Gagal");
}
}
else
{
MessageBox.Show("Kode Matakuliah {0} telah terdaftar", txtKodeMK.Text);
txtKodeMK.Clear();
txtKodeMK.Focus();
}
}
Yang berwarna Merah merupakan koding validasinya yaitu terdiri dari validasi saat textBox kosong dan saat primary key sama. Sekian posting dari saya semoga bermanfaat....
sumber
Tips dan Trik Komputer: Cara membuat button simpan dan validasi saat textb...
Tidak ada komentar:
Posting Komentar