Perbedaan ExecuteNonQuery, ExecuteReader dan ExecuteScalar Command VBNET | DASAR PROGRAMER

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 DJIESOFT..." 
   atau cmd.CommandText = "CREATE DATABASE DJIESOFT..." 
   atau cmd.CommandText = "DELETE FROM DJIESOFT ..."
   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 DJIESOFT ..."
    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 DJIESOFT ..."
    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 DJIESOFT ORDER BY NOURUT DESC"
2.mencari data yang sama (cek duplikat) : "SELECT 'ADA NIH' FROM DJIESOFT WHERE NAMA='DJIE'"
3.dan lain lain

Tags:
What is the difference between Execute Scalar , Execute Reader and ExecuteNonQuery?, contoh cara penggunaan ExecuteNonQuery, ExecuteReader dan ExecuteScalar, example of ExecuteNonQuery, ExecuteReader dan ExecuteScalar, contoh sintak ExecuteNonQuery, ExecuteReader dan ExecuteScalar
Jika Anda menyukai Artikel di blog ini, Silahkan klik disini untuk berlangganan gratis via email, dengan begitu Anda akan mendapat kiriman artikel setiap ada artikel yang terbit di dasarprogrammer.blogspot.com

0 komentar:

Posting Komentar