Selasa, 27 Juli 2010

Update SQL Server data dengan Visual Basic XML



Anda tentu masih ingat dengan pembahasan xml streaming.
Pada xml streaming kita menangkap XML yang diberikan SQL Server dengan Visual Basic. Yang kita lakukan sekarang adalah sebaliknya.

Atau mungkin anda masih ingat juga dengan Update SQL Server Data dengan XML.
Pada pembahasan Update SQL Server data dengan XML kita melakukannya langsung dari SQL Query Analizer, memanggil Stored Procedure yang dapat menerima XML dan memberikan string XML secara langsung.
Sekarang kita melakukannya dengan aplikasi Visual Basic buatan kita.

Pada pembahasan kali ini kita masih memakai TABLE, STORED PROCESURE dan XML Data yang kita pakai pada waktu pembahasan Update SQL Server Data dengan XML 

Artikel ini juga memakai cara Panggil Stored Procedure dengan Visual Basic 6.0

OK. Kita mulai saja.

Langkah-langkah yang akan kita lakukan adalah:
1. Membuat xmlData yang kosong dari file customer.xml
2. Mengupdate isi xmlData dari textbox
3. Mengirim XMLData ke SQL Server


Private Sub cmdSimpan_Click()

Dim m_oXMLData As New DOMDocument
Dim m_oXMLConfig As New DOMDocument
Dim sXMLFile As String sXMLFile = App.Path & "\customer.xml"

m_oXMLConfig.Load sXMLFile
Do
  DoEvents
Loop Until m_oXMLConfig.readyState = 4

'--- 1. buat xmlData kosong dari customer.xml
m_oXMLData.loadXML XMLDataBlankGet(m_oXMLConfig)


'--- 2. update XMLData dari textbox
For i = 0 To m_oXMLData.childNodes(0).Attributes.length - 1

  m_oXMLData.childNodes(0).Attributes(i).Text = Text1(i + 1).Text

Next i

'--- 3. kirim XMLString ke SQL Server
Dim oConn As New ADODB.Connection
Dim ocmd As New ADODB.Command
Dim oPar1 As ADODB.Parameter
oConn.open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=DATAKU;Data Source=."

With ocmd
  .ActiveConnection = oConn
  .CommandType = adCmdStoredProc
  .CommandText = "USP_CUSTOMER_UPDATE"
  Set oPar1 = .CreateParameter(sParName, adLongVarChar, adParamInput, 100000, m_oXMLData.xml)

  .Parameters.Append oPar1
  .Execute

End With


End Sub

'--------------------------------------------

Function XMLDataBlankGet(ByVal poXML As MSXML.DOMDocument) As String

Dim kt2 As String, sp As String
kt2 = Chr(34) & Chr(34) sp = Space(1)

Dim oNd_M As IXMLDOMNode
Set oNd_M = poXML.selectSingleNode("//editform[@name=""" & "myform" & """]")
'--- template for blankXMLData

s = ""
XMLDataBlankGet = s
Set oNd_M = Nothing

End Function


Di bawah ini adalah gambar program kita sedang beraksi:



Setelah melakukan pengisian di textbox lalu tekan tombol simpan. Hasilnya data tersimpan di SQL Server.
Bila dilihat dari SQL Server Enterprice Manager hasilnya seperti ini:


lengkapnya di sini:
http://xbasicpro.com/training/vb6db/vb6_db_xml_vb_update.aspx
                                                                                                                                                                                           

Treeview Control di Visual Basic 6.0

 


Treeview Control pertama kali terintegrasi pada Visual Basic 5 dan selalu digunakan untuk menampilkan informasi secara bertingkat.

Anda tentu sudah sering melihat windows explorer.
Lihat gambar di bawah ini:



Gambar di bagian adalah gambar contoh Treeview pada windows explorer.

sekarang kita akan membuat treeview dengan Dua Induk dan Empat Anak pada masing-masing cabang (Node) memakai Visual Basic.

Buka project baru pilih standard project lalu klik Project - Componen - Pilih Windows Common Control.

Lihat gambar di bawah ini:


Anda akan melihat di Toolbox sebelah kiri ada penambahan control Treeview. Lihat gambar di bawah ini:


Double klik kontrol Treeview tersebut lalu atur sedemikian rupa letaknya pada form.

Lalu ketik kode seperti dibawah ini:

Private Sub Form_Load()
  Dim NodX As Node
  TreeView1.LineStyle = tvwRootLines
  For i = 1 To 2
    TreeView1.Nodes.Add , , "keyRoot" & CStr(i), i    

      For j = 1 To 4 Set
         NodX = TreeView1.Nodes.Add("keyRoot" & CStr(i), tvwChild, "keySub" & i & j, "i" & i & "." & "j" & j)

      Next j
   Next i
End Sub


Private Sub TreeView1_NodeClick(ByVal Node As ComctlLib.Node)

   MsgBox Node.Key
End Sub



Jalankan program. Klik tanda positip pada Treeview. Lalu klik salah satu cabang. Anda akan melihat gambar seperti di bawah ini:



lengkapnya di sini:http://www.xbasicpro.com/training/vb6/vb6_treeview.aspx