Temporary Table

Forum diskusi pemrograman VB.NET

Temporary Table

Postby utuhkulalil » 14 Feb 2012, 08:06

Selamat Pagi, agan-agan semua...

saya mau tanya bagaimana cara membuat temporary table di vb.net

ceritanya saya mau membuat sebuah program yang akan merecord nota pembelian beserta barang-barangnya. dalam hal ini saya mendesain 2 table yaitu table nota yang berisi data-data nota dan item_nota yang berisi list barang-barang dalam nota.

maunya saya barang-barang di dalam nota yang akan di inputkan di tampung sementara dalam sebuah table temporary di dalam VB.NET sebelum nantinya akan di simpan secara bersamaan kedalam 2 table database MySQL saat tombol save/simpan di klik.

apa ada agan-agan yang bisa membantu, sebelumnya terima kasih banyak. :)
User avatar
utuhkulalil
Prajurit Dua
Prajurit Dua
 
Posts: 5
Joined: 05 Feb 2012, 17:44
Location: Tepian City
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: Temporary Table

Postby tatangs » 14 Feb 2012, 15:49

utuhkulalil wrote:Selamat Pagi, agan-agan semua...

saya mau tanya bagaimana cara membuat temporary table di vb.net

ceritanya saya mau membuat sebuah program yang akan merecord nota pembelian beserta barang-barangnya. dalam hal ini saya mendesain 2 table yaitu table nota yang berisi data-data nota dan item_nota yang berisi list barang-barang dalam nota.

maunya saya barang-barang di dalam nota yang akan di inputkan di tampung sementara dalam sebuah table temporary di dalam VB.NET sebelum nantinya akan di simpan secara bersamaan kedalam 2 table database MySQL saat tombol save/simpan di klik.

apa ada agan-agan yang bisa membantu, sebelumnya terima kasih banyak. :)

gmana om kalo tabel temporarynya dicreate manual aja didatabasenya, jadi ga usah lewat coding dicreatenya, nanti tinggal pake aja tabel temporarynya sebagai penampung datasementaranya dan ketika data dari tabel temporary sudah dipindah lalu dikosongkan lagi aja kan itu tabel sementara/temporary.
User avatar
tatangs
Prajurit Kepala
Prajurit Kepala
 
Posts: 359
Joined: 19 Mar 2010, 10:02
Location: Cimahi
Memberi kopi: 23 cangkir
Mendapat kopi: 52 cangkir

Re: Temporary Table

Postby topeng » 19 Feb 2012, 17:25

utuhkulalil wrote:Selamat Pagi, agan-agan semua...

saya mau tanya bagaimana cara membuat temporary table di vb.net

ceritanya saya mau membuat sebuah program yang akan merecord nota pembelian beserta barang-barangnya. dalam hal ini saya mendesain 2 table yaitu table nota yang berisi data-data nota dan item_nota yang berisi list barang-barang dalam nota.

maunya saya barang-barang di dalam nota yang akan di inputkan di tampung sementara dalam sebuah table temporary di dalam VB.NET sebelum nantinya akan di simpan secara bersamaan kedalam 2 table database MySQL saat tombol save/simpan di klik.

apa ada agan-agan yang bisa membantu, sebelumnya terima kasih banyak. :)


Mungkin ini membantu, coba masukan data-data sementara tersebut kedalam datagridview atau listview terlebih dahulu (tanpa melakukan proses insert ke database), contoh kodingnya :

Code: Select all
Try
            Dim subtotal, total As Double
            subtotal = CDbl(lbl_harga_barang.Text) * CDbl(txt_jumlah_jual.Text)

            With Me.dgv_penjualan
                .Rows.Add(cbo_barang.Text, lbl_harga_barang.Text, txt_jumlah_jual.Text, subtotal)
            End With

            For i As Integer = 0 To dgv_penjualan.Rows.Count - 1
                total += CDbl(dgv_penjualan.Rows(i).Cells(3).Value)
            Next
            lbl_ttl_hrg_kotor.Text = total.ToString
        Catch ex As Exception
            MsgBox("Gagal!", "Informasi")
        End Try


Keterangan :
Simpan pada even button klik
Sesuiakan dengan kebutuhan design anda

Wassalam
Hendra Wijaya
User avatar
topeng
Prajurit Dua
Prajurit Dua
 
Posts: 12
Joined: 09 Feb 2012, 23:15
Memberi kopi: 5 cangkir
Mendapat kopi: 0 cangkir

Re: Temporary Table

Postby sani » 20 Feb 2012, 07:47

kalo boleh tau ...alasannya apa kok gak disimpan langsung om?
sani
Prajurit Dua
Prajurit Dua
 
Posts: 33
Joined: 07 May 2010, 08:19
Memberi kopi: 1 cangkir
Mendapat kopi: 7 cangkir

Re: Temporary Table

Postby akhirudin » 20 Feb 2012, 12:04

:D mengingatkan saya sama jaman pertama belajar vb 6.
Implementasi struktur Parent - Child yang pertama saya pake ya kayak gini..
pake Temporary tabel..
tapi waktu itu saya pake temporary tabel yang saya bikin di dalem databasenya seperti saran om tatang..

setelah saya pelajari lebih lanjut ternyata banyak cara lain untuk implementasi hal ini..
sama hal nya di vb .net ada banyak cara dan alternatif untuk mengimplementasikan ini..
saya coba mention beberapa:
1. Menampung data pada kontrol, misalkan pada data grid
2. Menggunakan Data object (Dataset dan lain2, biasanya menggunakan data binding)
Sample: http://msdn.microsoft.com/en-us/library/c12c1kx4.aspx
3. Menggunakan object, nah yang ini banyak macem implementasi nya, dan terkadang di kombinasikan dengan nomor 2 diatas
untuk yang nomor 3 ini bisa dikatakan merupakan salah satu implementasi konsep OOP, dimana kita akan dikenalkan sama barang yang disebut dengan ORM (Object Relational Mapping)
yang paling terkenal menurut saya adalah NHibernate, lalu ada subsonic yang lebih banyak digunakan untuk web aplication.
naah saya sendiri lebih menyukai CSLA walaupun yang satu ini katanya tidak bisa dikatakan sebagai ORM.

daripada saya makin ngawur kesana kemari dan bikin bingung...
saran saya coba mulai dari link sample yang saya kasih diatas.. :D
User avatar
akhirudin
Kopral Dua
Kopral Dua
 
Posts: 607
Joined: 22 Mar 2010, 09:30
Location: Bandung Timur
Memberi kopi: 25 cangkir
Mendapat kopi: 44 cangkir

Re: Temporary Table

Postby utuhkulalil » 05 Mar 2012, 18:37

sani wrote:kalo boleh tau ...alasannya apa kok gak disimpan langsung om?


Tujuanya supaya user hanya menekan tombol save 1 kali untuk menyimpan keseluruhan data ke database, selain itu apabila user tidak jadi menginputkan data master dalam hal ini data nota, maka list-list item barang yang sudah terlanjur terinput tidak perlu kita delete kembali dari database.

operasi database hanya terjadi ketika data akan benar2 di simpan. :)
Last edited by utuhkulalil on 06 Mar 2012, 12:00, edited 1 time in total.
User avatar
utuhkulalil
Prajurit Dua
Prajurit Dua
 
Posts: 5
Joined: 05 Feb 2012, 17:44
Location: Tepian City
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: Temporary Table

Postby utuhkulalil » 05 Mar 2012, 18:41

Buat om tatang, topeng dan akhirudin, thanks for advice-nya

akan saya coba dulu satu persatu, jika mentok akan saya tanyakan lagi... he...3x
User avatar
utuhkulalil
Prajurit Dua
Prajurit Dua
 
Posts: 5
Joined: 05 Feb 2012, 17:44
Location: Tepian City
Memberi kopi: 0 cangkir
Mendapat kopi: 0 cangkir

Re: Temporary Table

Postby sanosuke » 06 Mar 2012, 11:08

hehe...
kasih tambahan ya
cara yang biasa saya lakukan
ketika menambah barang saya cuma menyimpan data2 di dataGridView termasuk kode2 Itemnya tapi disembunyikan karena bersifat unik/primaryKey. kemudian ketika menyimpan data di datagridview tsb saya panggil dengan perulangan (for - next, while - end while dll) untuk disimpan satu per satu row dalam 1 kali clik tombol simpan

dan yang biasa dilakukan om Trail
om trail cenderung menyimpan datanya di string tapi di string ini berisi query2 untuk memasukan ke db "INSERT...;INSERT...;dst" kemudian tinggal memanggil string tersebut untuk di execute 1 kali saja. dalam 1 kali clik tombol simpan

alasan saya simpan satu2 atau execute 1 per satu row karena saya ada pengalaman waktu itu vb6 dimana data item untuk transaksi bisa mencapai >50000 record/row/baris dalam 1 Nota waktu itu adalah project dimana 1 barang memiliki beberapa serial number dan 1 serial number jumlahnya sama dengan 1. jadi barang A waktu beli misal beli 100 jadi dari SN 00001 - 00100 dan itu dimasukan 1 persatu snnya.. haha... konyol memang permintaan customernya. klo saya pake system nya om trail jelas gk bisa karena saya pernah coba stringnya pe gk mencukupi = "Overflow" gk tahu klo string di .net

jadi..pilih mana hehe..
ImageImage
User avatar
sanosuke
Kopral Dua
Kopral Dua
 
Posts: 603
Joined: 11 Mar 2010, 16:28
Location: Sidoarjo - Surabaya
Memberi kopi: 25 cangkir
Mendapat kopi: 42 cangkir

Re: Temporary Table

Postby sani » 06 Mar 2012, 13:54

untuk memasukan data ke 2 tabel header dan detail nya dalam 1 tombol simpan, mungkin cara ini juga bisa dijadikan pilihan..
kita buat dulu 2 class misalkan namanya NotaDAL dan NotaDetail untuk detailnya
Code: Select all
' Class ke-1
Public Class NotaDetail
        Public Property NomorNota As String
        Public Property KodeItem As String
        Public Property Qty As Decimal
End Class

' Class ke-2
Public  Class NotaDAL

  Public Property NomorNota As String
  Public Property TanggalNota As Date

  Public Function SaveNota(ByVal Notaheader As NotaDAL, ByVal listnota As List(Of NotaDetail)) As Integer
    Dim conn As SqlConnection = connection.Createconnection ' Buka koneksi ke database
    Dim trans As SqlTransaction = conn.BeginTransaction
    Try

    Dim  sql As String = "Insert into Tbl_NotaHeader(Nomor_nota,tgl_nota) values(@nomornota,@tglnota)"
    Dim cmd As SqlCommand = New SqlCommand(sql, conn)

    With cmd
       .Parameters.Add(New SqlParameter("@nomornota", SqlDbType.NVarChar, 50)).Value = Notaheader .NomorNota
       .Parameters.Add(New SqlParameter("@tglnota", SqlDbType.SmallDateTime)).Value = Notaheader .TanggalNota
       .Transaction = trans
       .ExecuteNonQuery()
     End With
             
      For Each o As NotaDetail In listnota
       Dim sqladddetail As String = "Insert into tbl_notadetail(Nomor_nota,kode_item,qty) values(@nmrnota,@kodeitem,@qty)"
       Dim cmdinsertdetail As SqlCommand = New SqlCommand(sqladddetail, conn)

       With cmdinsertdetail
         .Parameters.Add(New SqlParameter("@nmrnota", NVarChar, 50)).Value = o.NomorNota
         .Parameters.Add(New SqlParameter("@itemid", NVarChar, 50)).Value = o.KodeItem
         .Parameters.Add(New SqlParameter("@qty", SqlDbType.Decimal)).Value = o.Qty
         .Transaction = trans
         .ExecuteNonQuery()
        End With
      Next

      trans.Commit()
      Return 1

    Catch ex As Exception
      trans.Rollback()
      Return 0
     End Try

  End Function
End Class


kemudian di form, di tombol simpannya kita masukan kode

Code: Select all

Dim Notaheader as New NotaDAL

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.Click
        Dim listitem As List(Of NotaDetail) = New List(Of NotaDetail)
        Dim i As Integer = 1
        Try
           Notaheader .NomorNota = txtnomornota.Text
           Notaheader.TanggalNota=tglnota.Value

            For i = 0 To dgvnota.Rows.Count - 1
                Dim Nota As NotaDetail= New NotaDetail
                With Nota
                    .NomorNota = txtnomornota.Text
                    .KodeItem = dgvnota.Item(0, i).Value
                    .Qty = dgvnota.Item(1, i).Value             
                End With
                listitem.Add(Nota)
            Next

            If Notaheader.SaveNota(Notaheader, listitem) Then
               msgbox "Data berhasil dimasukan"
            End If

        Catch ex As Exception
           msgbox "Data tidak berhasil dimasukan"
        End Try

End Sub



Semoga membantu...
sani
Prajurit Dua
Prajurit Dua
 
Posts: 33
Joined: 07 May 2010, 08:19
Memberi kopi: 1 cangkir
Mendapat kopi: 7 cangkir


Return to Visual Basic .NET

Who is online

Users browsing this forum: No registered users and 8 guests