Sunday, April 22, 2012

Store Prosedure


Dalam pembuatan program terkadang kita hanya menggunakan database sebagai tempat penyimpanan data saja, ini tidak salah akan tetapi penggunaan database dapat lebih dioptimalkan dengan kita mengalihkan beberapa proses di server database tersebut. Seperti pada posting saya sebelumnya mengenai Menampilkan hasil secara acak dengan SQL, kalau kita buat fungsi tersebut di program kita tentu akan sangat tidak efisien karena kita harus mengambil data – datanya baru secara coding kita buat kriteria dan hasilnya. Kita dapat menggunakan query SQL secara mentah atau memanggil stored procedure, dalam posting kali ini menggunakan stored procedure dengan Visual Basic.NET dan SQL Server.
Kita buat sebuah stored procedure sederhana untuk menampilkan nama pegawai berdasar nomor identitasnya.

IDPEGAWAINAMAJABATANKOMISI
5001MOZAKASIR
5007TEJASALESMAN300000
5101WAHYUSALESMAN400000
5104DESYMANAGER
5111ECKOSALESMAN1500000
5121ARIMANAGER
5287RAYMONDMANAGER
5288SONYKASIR
5297HUTOMOPEMILIK
5299GUNADISALESMAN
5376SANDYKASIR
5378ERICKKASIR
5380LINDONANALYST
5400STEFANOKASIR
contoh tabel untuk sql merubah null
1
2
3
4
5
6
7
CREATE PROCEDURE GetNamaPegawai
@ID_Pegawai CHAR(4),
@Nama_Pegawai VARCHAR(60) OUT
AS
BEGIN
SET @NamaPegawai = (SELECT NAMA FROM PEGAWAI WHERE IDPEGAWAI= @ID_Pegawai);
END
Untuk menggunakan stored procedure kita membuat command object terlebih dahulu, dan membuat parameter input dan output yang terpisah;
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
' ----- Menghubungkan ke database.
Dim connectionString As String = _
"Data Source=Chandra\SQLEXPRESS;" & _
"Initial Catalog=Databaseku;Integrated Security=true"
Dim Database As New SqlClient.SqlConnection(connectionString)
Databaseku.Open()
' ----- Membuat command dasar
Dim Commandku As New SqlClient.SqlCommand()
Commandku.CommandType = CommandType.StoredProcedure
Commandku.Connection = Databaseku
Commandku.CommandText = "GetNamaPegawai"
' ----- Tambahkan parameter input.
Commandku.Parameters.AddWithValue("@ID_Pegawai","5287")
' ----- Tambahkan parameter output.
Dim outParam As SqlClient.SqlParameter = _
Commandku.Parameters.Add( _
"@Nama_Pegawai", SqlDbType.VarChar, 60)
outParam.Direction = ParameterDirection.Output
' ----- Menjalankan stored procedure.
Commandku.ExecuteNonQuery()
' ----- Menampilkan hasil pemanggilan stored procedure.
MsgBox(outParam.Value)
' ----- Bersih - bersih.
Commandku = Nothing
Databaseku.Close()
Databaseku.Dispose()
Stored procedure ada beberapa macam, yang paling sederhana hanya mengembalikan record – record seperti SELECT. Jenis – jenis lainnya mengembalikan hasil dengan nilai kembalian(return values) atau sebagai parameter output. ADO.NET mendukung semua jenis stored procedure.
Stored procedure dipanggil dengan command object standar, tapi tidak menggunakan SQL sebagai command textnya anda cukup menyediakan nama stored procedurenya. Semua parameter input dan output ditambahkan melalui parameter object. Nama yang digunakan di setiap parameter harus sesuai dengan nama yang digunakan dalam stored procedure.
Parameter input sederhana dapat ditambahkan dengan metode AddWithValue() :
 
1
Commandku.Parameters.AddWithValue("@ID_Pegawai", "5287")
Parameter output membutuhkan penyesuaian lebih :
1
2
3
4
Dim outParam As SqlClient.SqlParameter = _
Commandku.Parameters.Add( _
"@Nama_Pegawai", SqlDbType.VarChar, 60)
outParam.Direction = ParameterDirection.Output
Properti Direction memberikan petunjuk bagaimana parameter tersebut digunakan oleh stored procedure, dan bisa digunakan sesuai dengan tipe – tipe seperti berikut :
  • ParameterDirection.Input
  • ParameterDirection.Output
  • ParameterDirection.InputOutput
  • ParameterDirection.ReturnValue
Setelah parameter – parameter telah ditambahkan, eksekusi stored procedure sama seperti penggunaan command object lainnya
1
Commandku.ExecuteNonQuery()
Jika stored procedure mengembalikan record lebih dari satu, gunakanlah ExecuteReader() untuk mengakses record – record tersebut.

Copilot - Membuat Aplikasi Camera Detection menggunakan flutter

  Langkah-langkah Persiapkan Lingkungan Flutter : Pastikan Flutter sudah terinstal di sistem Anda. Jika belum, Anda bisa mengikuti panduan i...