Best Practice Execute Query with Stored Procedure MySQL from C# Dekstop Application - Sample Code | ILMU PROGRAMMER
Home » Best Practice Execute Query with Stored Procedure MySQL from C# Dekstop Application – Sample Code

Best Practice Execute Query with Stored Procedure MySQL from C# Dekstop Application – Sample Code

Best Practice merupakan suatu cara paling efisien dan efektif untuk menyelesaikan suatu tugas, berdasarkan suatu prosedur yang dapat diulangi yang telah terbukti manjur untuk banyak orang dalam jangka waktu yang cukup lama.

Pada artikel ini kami ingin sedikit sharing bagaimana cara yang paling efisiensi melakukan Query dari C# Execute Stored Procedure (MYSQL) versi kami.

Berikut merupakan pembuatan Procedure untuk menyimpan data product

CREATE DEFINER=`root`@`%` PROCEDURE `DEKSTOP_PRODUCTCREATE`(
   IN_SALESORG varchar(10),
   IN_DISTCHAN varchar(10),
	 IN_MATERIAL varchar(18),
	 IN_MATERIALDESC varchar(255),
	 IN_AMOUNT DECIMAL,
	 IN_PRICE DECIMAL
)
BEGIN 
	 INSERT INTO sfam_material
	 (COND, SALESORG, DISTCHAN, MATERIAL, MATERIALDESC, AMOUNT, AMOUNTUNIT, PRICE, PRICEUNIT) VALUES 
	 ('ZP02', IN_SALESORG, IN_DISTCHAN, IN_MATERIAL, IN_MATERIALDESC, IN_AMOUNT, 'IDR', IN_PRICE, 'PIECE');
	 
	 
	 SELECT CONCAT("Data Produk Berhasil Disimpan, MATERIAL: ",IN_MATERIAL);
	 
END

Untuk table, mohon disesuaikan.
Selanjutnya berikut sample code pada Program C# Dekstop Application ketika ingin execute Stored Procedure MySQL

private void ExecuteData_Save()
        {
            try
            {
                if(MessageBox.Show("Apakah Anda yakin ingin Menyimpan data ini?", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question)== DialogResult.Yes)
                {
                    using (MySqlConnection koneksi = new MySqlConnection(Program.koneksistring))
                    {
                        koneksi.Open();
                        MySqlCommand cmd = new MySqlCommand();
                        cmd.CommandText = @"CALL `DEKSTOP_PRODUCTCREATE`(
                                                   @IN_SALESORG ,
                                                   @IN_DISTCHAN ,
	                                                 @IN_MATERIAL ,
	                                                 @IN_MATERIALDESC ,
	                                                 @IN_AMOUNT ,
	                                                 @IN_PRICE
                                                )";
                        cmd.Parameters.AddWithValue("@IN_SALESORG", T_SALESORG.Text);
                        cmd.Parameters.AddWithValue("@IN_DISTCHAN", T_DISTC.Text);
                        cmd.Parameters.AddWithValue("@IN_MATERIAL", T_MATERIAL.Text);
                        cmd.Parameters.AddWithValue("@IN_MATERIALDESC", T_MATERIAL_NAME.Text);
                        cmd.Parameters.AddWithValue("@IN_AMOUNT", T_MATERIAL_AMOUNT.Text);
                        cmd.Parameters.AddWithValue("@IN_PRICE", "100");
                        cmd.CommandType = CommandType.Text;
                        cmd.Connection = koneksi;
                        MySqlDataReader rdr = cmd.ExecuteReader();
                        if (rdr.Read())
                        {
                            Program.MessageInf(rdr[0].ToString());
                            B_SIMPAN.Text = "RUBAH";
                        }
                        koneksi.Close();
                    }
                }
            }
            catch (Exception Ex)
            {
                Program.MessageErr(Ex);
            }
        }

Pastikan juga sebelum melakukan execute data , ada validasi inputan
Berikut merupakan sample code untuk validasi inputan form

private bool Validasi()
        {
            try
            {
                if(T_MATERIAL.Text == "")
                {
                    Program.MessageErr("ID Harap Diisi");
                    return false;
                }
                else
                if (T_MATERIAL_NAME.Text == "")
                {
                    Program.MessageErr("Product Description Harap Diisi");
                    return false;
                }
                else
                if (T_MATERIAL_AMOUNT.Text == "")
                {
                    Program.MessageErr("Product Amount Harap Diisi");
                    return false;
                }
                else
                if (T_DISTC.Text == "")
                {
                    Program.MessageErr("Dist. Channel Harap Diisi");
                    return false;
                }
                else
                if (T_SALESORG.Text == "")
                {
                    Program.MessageErr("Sales Org. Harap Diisi");
                    return false;
                }
            }
            catch(Exception Ex)
            {
                Program.MessageErr(Ex);
                return false;
            }
            return true;
        }

Setelah semua jadi, buat 1 tombol simpan, kemudian ketik sample code berikut ini


        private void B_SIMPAN_Click(object sender, EventArgs e)
        {
            if (Validasi() == true && B_SIMPAN.Text == "SIMPAN")
            {
                ExecuteData_Save();
            }
        }

Sampai disini , Selesai.
Semoga bermanfaat

Leave a Comment

 
Open chat
Perlu Bantuan Konsultasi ?
Hallo Pembaca.
Telp (021) 55670115 untuk terhubung langsung dengan kami.

Apakah ada yang bisa kami bantu?