Oct
12
2014

Perbedaan ExecuteNonQuery, ExecuteReader dan ExecuteScalar

Perbedaan ExecuteNonQuery, ExecuteReader dan ExecuteScalar Command VBNET
Mungkin sebaiknya anda baca dulu postingan saya yang ini : 1 dan 2. OK saya lanjutkan dan saya akan jelaskan beserta contohnya :

1.ExecuteNonQuery
Adalah perintah untuk mengeksekusi script SQL : DDL (Data Definition Language) dan/atau CRUD (Create Update Delete). jadi perintah SELECT (query) tidak dapat dilakukan oleh ExecuteNonQuery. Contoh :

Dim cmd As New SqlClient.SqlCommand
cmd.CommandText = “INSERT INTO MAHASISWA”
atau cmd.CommandText = “CREATE DATABASE MAHASISWA”
atau cmd.CommandText = “DELETE FROM MAHASISWA”
cmd.ExecuteNonQuery()

Output dari ExecuteNonQuery adalah Integer, yaitu berapa banyak row/data yang ter-execute. Contohnya cukup tambahkan sintak ini (kelanjutan dari contoh diatas) :
Dim data_terhapus As Integer = cmd.ExecuteNonQuery()
atau
Dim data_teredit As Integer = cmd.ExecuteNonQuery()
MsgBox (“Data yang ter-Update : ” + data_teredit.ToString)

2.ExecuteReader
Adalah kebalikan dari ExecuteNonQuery, yaitu hanya perintah SELECT (Query) saja yang dapat dilakukan. Output dari ExecuteReader adalah DataReader, jadi hasil perintah SELECT itu datanya akan disimpan ke variable DataReader yang sebelumnya kita deklarasikan. Contoh :

Dim cmd As New SqlClient.SqlCommand
cmd.CommandText = “SELECT * FROM MAHASISWA”
Dim myReader As SqlClient.SqlDataReader = cmd.ExecuteReader
   
3.ExecuteScalar
Adalah dapat dikatakan mirip dengan ExecuteReader yaitu hanya perintah SELECT (Query) saja yang dapat dilakukan. Tetapi bedanya adalah outputnya adalah object, dimana ExecuteScalar hanya akan menghasilkan data pada kolom pertama dan baris pertama (first column & row). contoh :
saya mempunyai data :
KODE    NAMA    ALAMAT
66        djie    bandung
77        soft    jakarta

Dim cmd As New SqlClient.SqlCommand
cmd.CommandText = “SELECT KODE, NAMA, ALAMAT FROM MAHASISWA”
Dim hasil As String = cmd.ExecuteScalar

maka outputnya adalah : hasil = 66 (ingat hanya kolom pertama dan baris pertama yang akan dihasilkan)
jadi perintah ExecuteScalar ini cocok untuk mengambil data pada kasus :
1.mencari nourut : “SELECT TOP 1 NOURUT FROM MAHASISWA ORDER BY NOURUT DESC”
2.mencari data yang sama (cek duplikat) : “SELECT ‘ADA NIH’ FROM MAHASISWA WHERE NAMA=’ROY'”
3.dan lain lain


Sumber : djiesoft.blogspot.com

Written by irvananda in: Uncategorized |

No Comments »

RSS feed for comments on this post. TrackBack URL


Leave a Reply

Powered by WordPress. Theme: TheBuckmaker. Zinsen, Streaming Audio