
Ketemu lagi di Execute Storeprocedure SQL Server Express 2005 with C#, pada kesempatan ini penulis akan mencoba melanjutkan lagi hasil pembelajaran penulis dengan menggunakan C#, pada kesempatan ini silahkan buat desain form seperti gambar yang penulis sertakan pada artikel ini kemudian untuk dapat menjalankan aplikasi sederhana ini silahkan ketikkan source berikut :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Data.SqlClient;
using System.Text;
using System.Windows.Forms;
//sertakan file uConnection
using GL.DataAkses;
using GL.ClassInputMaster;
namespace GL
{
public partial class fperkiraan : Form
{
ClassPerkiraan ClasPerkiraan = new ClassPerkiraan();
// buat variabel untuk pemanggil koneksi di file uConnection.cs
private SqlConnection conn;
string trans;
public fperkiraan()
{
InitializeComponent();
// deklarasikan + Buka koneksi
this.conn = uConnection.GetConnection();
} string cmdsqlGL;
Boolean Proses;
DataTable tperkiraanGL = new DataTable();
private void load_data()
{
tperkiraanGL.Clear();
cmdsqlGL = "Select noperk,perkiraan,gd,dk from tperkiraan where order by noperk";
SqlDataAdapter adapterPerkiraan = new SqlDataAdapter(cmdsqlGL,conn);
SqlCommandBuilder commandPerkiraan = new SqlCommandBuilder(adapterPerkiraan);
adapterPerkiraan.Fill(tperkiraanGL);
dgperkiraan.DataSource = tperkiraanGL;
dgperkiraan.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dgperkiraan.Columns[0].HeaderText = "NO.PERKIRAAN";
dgperkiraan.Columns[1].HeaderText = "PERKIRAAN";
dgperkiraan.Columns[0].Width = 150;
dgperkiraan.Columns[1].Width = 300;
dgperkiraan.Columns[2].Width = 60;
dgperkiraan.Columns[3].Width = 60;
dgperkiraan.Columns[2].HeaderText = "G/D";
dgperkiraan.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dgperkiraan.Columns[3].HeaderText = "D/K";
dgperkiraan.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
private void fperkiraan_Load(object sender, EventArgs e)
{
trans = "Baru";
WindowState = FormWindowState.Maximized;
lblproses.Text = "Penambahan data baru...";
try
{
load_data();
}
catch (SqlException err)
{
throw new Exception(err.Message.ToString());
}
finally
{
conn.Close();
}
}
private void txtcarinama_TextChanged(object sender, EventArgs e)
{
// untuk pencarian data
}
private void btnselesai_Click(object sender, EventArgs e)
{
Close();
}
private void kosong()
{
txtnoperk.Text = "";
txtnaperk.Text = "";
cbGD.Text = "General";
rodebet.Checked=true;
}
private void btntambah_Click(object sender, EventArgs e)
{
lblproses.Text = "Penambahan data baru...";
kosong(); trans = "Baru"; txtnoperk.ReadOnly = false; txtnoperk.Focus();
}
private void btsimpan_Click(object sender, EventArgs e)
{
string _idbook = txtnoperk.Text;
if (txtnoperk.Text == "")
{
MessageBox.Show("Pengisian tidak lengkap!!!");
btntambah_Click(sender, e);
}
else
{
try
{
string GD, DK;
if (cbGD.Text == "General")
{
GD = "G";
}
else
{
GD = "D";
}
if (rodebet.Checked == true)
{
DK = "D";
}
else
{
DK = "K";
}
if (trans=="Edit" || trans=="Baru")
{
ClasPerkiraan.spAdd(trans.ToString(), txtnoperk.Text.ToString(), txtnaperk.Text.ToString(), GD.ToString(), DK.ToString());
}
load_data();
}
catch (Exception err)
{
MessageBox.Show("Gagal menyimpan data");
}
finally
{
btntambah_Click(sender, e);
}
}
}
private void btnhapus_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Anda Yakin akan menghapus perkiraan : " + dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["perkiraan"].Value.ToString(), "Peringatan", MessageBoxButtons.YesNo);
if (result == DialogResult.No)
{
btntambah_Click(sender, e);
}
else
{
string no = dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["noperk"].Value.ToString();
ClasPerkiraan.spAdd("Hapus",no.ToString(),"","","");
tperkiraanGL.Clear();
load_data();
}
}
private void btnperbaiki_Click(object sender, EventArgs e)
{
string nobookmark;
try
{
if (dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["noperk"].Value.ToString() != "")
{
nobookmark = dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["noperk"].Value.ToString();
txtnoperk.Text = dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["noperk"].Value.ToString();
txtnaperk.Text = dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["perkiraan"].Value.ToString();
if (dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["GD"].Value.ToString() == "G")
{
cbGD.Text = "General";
}
else
{
cbGD.Text = "Detail";
}
if (dgperkiraan.Rows[dgperkiraan.CurrentCellAddress.Y].Cells["dk"].Value.ToString() == "D")
{
rodebet.Checked = true;
}
else
{
rokredit.Checked = true;
}
trans = "Edit";
txtnoperk.ReadOnly = true;
trans = "Edit"; lblproses.Text = "Perbaikan data...";
txtnaperk.Focus();
}
else
{
MessageBox.Show("data tidak ada");
}
}
catch
{
MessageBox.Show("Data tidak ada");
}
}
private void btncetak_Click(object sender, EventArgs e)
{
//untuk menampilkan data dalam mode report
}
private void txtnoperk_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
// buat class untuk pencarian data yang pernah di isi disini
}
else
{
txtnaperk.Focus();
}
}
}
}
private void konfirmasi()
{
string pesan = "Simpan data?";
string judul = "Konfirmasi";
MessageBoxButtons tombol = MessageBoxButtons.OKCancel;
DialogResult result;
result = MessageBox.Show(pesan, judul, tombol);
if (result == System.Windows.Forms.DialogResult.OK)
{
Proses = true;
}
else
{
Proses = false;
}
}
}
}
Mudah-mudahan hasil pembelajaran penulis ini juga dapat memberikan manfaat bagi teman-teman yang juga sama dengan penulis dalam mempelajari C#, serta tidak lupa penulis ucapkan beribu-ribu maaf kalau artikel ini masih jauh dari sempurna