Mode Malam
| Mode Tampilan
Penulis : admin

Home » Programming » Membuat Module Sql Helper Untuk Membangun Aplikasi Basis Data - VB.NET
Membuat Module Sql Helper Untuk Membangun Aplikasi Basis Data - VB.NET

Membuat Module Sql Helper Untuk Membangun Aplikasi Basis Data - VB.NET


Pada artikel sebelumnya kita telah membahas perbedaan funsional antara module dan class di bahasa pemrograman vb.net pada artikel perbedaan fungsional module dan class. Pada artikel kali ini kita akan belajar membuat sebuah module yang memiliki fungsi atau method untuk menangani query database sql server. Module ini akan sangat berguna ketika kita ingin membuat sebuah aplikasi berbasis data. Untuk lebih jelasnya kita langsung ke tutorialnya saja.

advertisement

Buat sebuah module dengan nama SqlHelper, kemudian copy dan paste code berikut ini

Imports System.Data.SqlClient
Module SqlHelper

    Private sqlds As New DataSet
    Dim strcon As String
    
    Sub setConnection(stringConnection As String)
        strcon = stringConnection
    End Sub
    
    Function getAdapter(stringQuery As String) As SqlDataAdapter
        Dim sqlcon = New SqlConnection(strcon)
        sqlcon.Open()
        Dim sqlDataAdapter = New SqlDataAdapter()
        Try
            sqlDataAdapter = New SqlDataAdapter(stringQuery, sqlcon)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        sqlcon.Close()
        Return sqlDataAdapter
    End Function
    
    Function getDataSet(Optional ByVal stringQuery As String = Nothing, Optional ByVal tableName As String = "Table") As DataSet
        If stringQuery = Nothing Then
            Return sqlds
        End If
        Dim sqlcon = New SqlConnection(strcon)
        sqlcon.Open()
        Try
            Dim dataAdapter = New SqlDataAdapter(stringQuery, sqlcon)
            If sqlds.Tables.Contains(tableName) Then
                sqlds.Tables.Remove(tableName)
            End If
            dataAdapter.Fill(sqlds, tableName)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        sqlcon.Close()
        Return sqlds
    End Function

    Function getDataTable(Optional ByVal stringQuery As String = Nothing, Optional ByVal tableName As String = "Table") As DataTable
        If stringQuery = Nothing Then
            Return sqlds.Tables(tableName)
        End If
        Dim sqlcon = New SqlConnection(strcon)
        sqlcon.Open()
        Try
            Dim dataAdapter = New SqlDataAdapter(stringQuery, sqlcon)
            If sqlds.Tables.Contains(tableName) Then
                sqlds.Tables.Remove(tableName)
            End If
            dataAdapter.Fill(sqlds, tableName)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        sqlcon.Close()
        Return sqlds.Tables(tableName)
    End Function
    
    Function getCommand(stringQuery As String) As ModSqlCommand
        Dim msc = New ModSqlCommand
        Try
            Dim sqlcon = New SqlConnection(strcon)
            sqlcon.Open()
            Dim sqlCommand = New SqlCommand(stringQuery, sqlcon)
            msc.sqlConnection = sqlcon
            msc.sqlCommand = sqlCommand
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        Return msc
    End Function
    
    
    Function getDataReader(ByVal stringQuery) As ModSqlRaeder
        Dim msr = New ModSqlRaeder
        Try
            Dim sqlcon = New SqlConnection(strcon)
            sqlcon.Open()
            Dim com = New SqlCommand(stringQuery, sqlcon)
            msr.sqlConnection = sqlcon
            msr.sqlDataReader = com.ExecuteReader()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        Return msr
    End Function
    Sub ExecuteQuery(ByVal stringQuery)
        Dim sqlcon = New SqlConnection(strcon)
        sqlcon.Open()
        Dim com = New SqlCommand(stringQuery, sqlcon)
        Try
            com.ExecuteNonQuery()
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
        sqlcon.Close()
    End Sub

    Class ModSqlCommand
        Public sqlCommand As SqlCommand
        Public sqlConnection As SqlConnection
    End Class

    Class ModSqlRaeder
        Public sqlDataReader As SqlDataReader
        Public sqlConnection As SqlConnection
    End Class
    
End Module

Dari code diatas bisa kita lihat bahwa module  SqlService yang kita buat memiliki beberapa method dan dua inner class. Oke kita bahas satu-satu.

  1. Method setConnection
    Sebelum kita menggunakan method lainnya, kita perlu untuk menconfigurasi koneksi database, menggunakan method diatas. 
  2. Method getAdapter
    Method tersebut berfungsi untuk menangani query select yang nantinya data dikembalikan dalam bentuk SqlDataAdapter.
  3. Method getDataSet
    Sama hal nya dengan method getAdapter, method getDataSet juga berfungsi untuk menangani query select naman pengembalian data dalam bentuk DataSet.
  4. Method getDataTable
    Sama hal nya dengan dua method sebelumnya yaitu untuk menangani query select namun pengembalian data sudah dalam bentuk DataTable. Method ini juga yang nanti akan sering kita gunakan.
  5. Mehode getCommand
    Mehode ini digunakan ketika kita ingin membuat advance command menggunakan SqlCommand, seperti meninsert gambar kedalam database munggunakan sqlCommand.Parameters.AddWithValue. Karena didalam method tersebut tidak terdapat perintah sqlcon.Close() untuk memutus koneksi, maka setelah menggunkan metode tersebut perlu di dengan cara (InisialiasiGetCommand).sqlConnection.Close()
  6. Method getDataReader
    Method ini digunakan untuk menangani query select  jika data yang ditarik terlalu besar sehingga mengakibatkan server kehabisan waktu(time out) untuk menangani query tersebut. Dengan menggunakan method getDataReader kita tidak perlu khawatir terjadi timeout. Kita juga perlu memutus koneksi setelah semua data telah diambil seperti pada method getCommand.
  7. Method ExecuteQuery
    Method ini berfungsi untuk menangani query tanpa pengembalian(selain query select), seperti update, insert, delete, create table dan lainnya.

Untuk lebih memahami method-method diatas, kita akan coba menggunakan methode-methode tersebut sehingga kita tau penggunaannya.

advertisement

Berikut cara menggunakan methode-methode diatas.

Imports System.Data.SqlClient
Module ModuleMain

    Sub Main()
        setConnection("DATA SOURCE=USER\SQLEXPRESS;INITIAL CATALOG=MYAPP; USER ID=sa; PASSWORD=123") 'Mengkonfigurasi koneksi database yang digunakan'

        '1. Penggunaan methode getAdapter'
        Dim ds As New DataSet
        Dim adapter As SqlDataAdapter = getAdapter("select * from users")
        adapter.Fill(ds, "TableName")
        Dim dtable As DataTable = ds.Tables("TableName")
        For Each row As DataRow In dtable.Rows
            Console.WriteLine(row.Item("nama").ToString)
        Next

        '2. Penggunaan methode getDataSet'
        Dim dataset As DataSet = getDataSet("select * from users", "TableName")
        Dim dt As DataTable = dataset.Tables("TableName")
        For Each row As DataRow In dt.Rows
            Console.WriteLine(row.Item("nama").ToString)
        Next

        '3. Penggunaan methode getDataTable'
        Dim datatable As DataTable = getDataTable("select * from users", "TableName")
        For Each row As DataRow In datatable.Rows
            Console.WriteLine(row.Item("nama").ToString)
        Next

        '4. Penggunaan methode getCommand'
        Dim Command As ModSqlCommand = getCommand("update users set nama=@nama where id = @id")
        Command.sqlCommand.Parameters.AddWithValue("@nama", "Newbiestar.com")
        Command.sqlCommand.Parameters.AddWithValue("@id", "100")
        Command.sqlCommand.ExecuteNonQuery()
        Command.sqlConnection.Close()

        '5. Penggunaan methode getDataReader'
        Dim Reader As ModSqlRaeder = getDataReader("select * from users")
        While Reader.sqlDataReader.Read
            Console.WriteLine(Reader.sqlDataReader.GetString("nama"))
        End While
        Reader.sqlConnection.Close()

        '6. Penggunaan methode ExecuteQuery'
        ExecuteQuery("insert into users (id,nama) values('1','Newbieestar.com')")

        Console.ReadLine()
    End Sub

End Module

advertisement

Sekian dulu tutorial cara membuat modul sql helper kali ini. Jangan lupa di share jika kalian merasa artikel ini bermanfaat, dan jangan lupa tinggalkan jejak dengan berkomentar dibawah ini. File SqlHelper.vb bisa kalian download di sini.

 

Tags: #vbnet #sqlserver
Bagikan :

Komentar:

Silahkan berkomentar dengan baik dan bijak!

Name * :
Email :
Website :
Comment :


This website uses cookies to ensure you get the best experience on our website

learn more