Wednesday, December 19, 2012

Sharing Everything From My Experience And Knowlegde

Sharing Everything From My Experience And Knowlegde


Penjelasan dan Contoh Penggunaan USING, END USING Statement di VB.NET

Posted: 18 Dec 2012 10:10 PM PST

Kali ini saya akan share tentang penggunaan USING, END USING di VBNET. Intinya adalah untuk mengoptimalkan sintak dan performance aplikasi agar tidak banyak memory komputer yang terpakai dan terbuang percuma. Maksudnya? seringkali jika kita mendeklarasikan variable tidak kita hapus (dispose/erase/clear/nothing) saat variable itu tidak kita gunakan lagi, sehingga aplikasi anda semakin lama akan semakin berat.
Contoh dalam membuat form master data saja, biasanya kita deklarasikan seperti ini kan ?

    Dim con As Odbc.OdbcConnection
    Dim cmd As Odbc.OdbcCommand
    Dim adp As Odbc.OdbcDataAdapter
    Dim reader As Odbc.OdbcDataReader
    Dim tbl As DataTable
    Dim constr As String = "dsn=djiesoft_db;uid=sa;password=12345"
Dari contoh diatas kita bisa tahu saat form active saja sudah 6 variable yang diload ke memory, dan variable itu akan selalu ada di memory sampai form tersebut ditutup, jika kita membuka banyak form??? Baiklah langsung ke USING, END USING adalah suatu metode untuk mendeklarasikan variable/object dimana variable itu akan otomatis terhapus saat keluar dari END USING. jadi tidak perlu report untuk menulis sintak hapus seperti : variable.dispose, erase variable, variable.clear atau variable = nothing, dll. Sehingga memory kita akan aman karena object/variable tersebut otomatis di hapus. Contohnya adalah :
Contoh (sebelum menggunakan USING, END USING) :

Lalu di event form load kita open koneksi :

        con = NewOdbc.OdbcConnection(constr)
        con.Open()

Setelah itu ini contoh sintak di tombol simpan :

        cmd = NewOdbc.OdbcCommand("INSERT INTO ...", con)
        cmd.ExecuteNonQuery()

dan ini contoh sintak di tombol refresh :

       cmd = NewOdbc.OdbcCommand("SELECT * FROM ...", con)
        reader = cmd.ExecuteReader
        Do While reader.Read
            'ADD TO LISTVIEW/DATAGRIDVIEW...
        Loop
        reader.Close() 
'jika anda tidak .Close maka akan error saat anda tekan tombol refresh lagi/selanjutnya.

atau jika anda lebih suka menggunakan Datasource maka biasanya sintaknya seperti ini :


        adp = NewOdbc.OdbcDataAdapter("SELECT * FROM ...", con)
        tbl = NewDataTable
        adp.Fill(tbl)
        DataGridView1.DataSource = tbl
 
Saat anda ingin menggunakan USING, END USING maka dari contoh di atas kita hanya akan mengunakan 1 variable saja yaitu constr, selanjutnya sintak2 tersebut akan berubah menjadi :
1. di form load tidak ada sintak untuk open koneksi
2. sintak di tombol simpan berubah menjadi :

        Using con As New Odbc.OdbcConnection(constr)
            con.Open()
            Usingcmd As NewOdbc.OdbcCommand("INSERT INTO...", con)
                cmd.ExecuteNonQuery()
            EndUsing
        End Using

3. sintak di tombol refresh berubah menjadi :
3.1 via datareader

        Usingcon As NewOdbc.OdbcConnection(constr)
            con.Open()
            Usingcmd As NewOdbc.OdbcCommand("SELECT * FROM...", con)
                Usingreader As Odbc.OdbcDataReader = cmd.ExecuteReader
                    DoWhile reader.Read
                        'ADD TO LISTVIEW/DATAGRIDVIEW...
                    Loop
                EndUsing
            EndUsing
        End Using

3.2 via dataadapter

        Usingcon As NewOdbc.OdbcConnection(constr)
            con.Open()
            Usingadp As NewOdbc.OdbcDataAdapter("SELECT * FROM ...", con)
                Usingtbl As NewDataTable
                    adp.Fill(tbl)
                    DataGridView1.DataSource = tbl
                EndUsing
            EndUsing
        End Using
Nah bagaimana, cukup jelas kan? ini memang bukan aturan baku (wajib) karena setiap programmer punya logika dan style sendiri dalam menulis sintak, tetapi ada baiknya apa yang kita tahu dan menurut kita bermanfaat kita bagikan ke yang lain. Selain itu ada juga variable2 yang kita harus deklarasikan sebagai PUBLIC (module/class), semua sesuaikan dengan kondisi yang terjadi. OK

Tags:
Using Statement (Visual Basic),Using Using VB.NET,Delegates in VB.NET - Using Visual Basic .NET Delegates,VB.NET has "Using", apa itu using? cara menghemat memory komputer saat aplikasi vbnet run, cara mempersingkat sintak vbnet, vbnet berat, vbnet load too much memory

No comments:

Post a Comment