Pages

Senin, 26 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


Free Template Blogger collection template Hot Deals BERITA_wongANteng SEO theproperty-developer

0 komentar:

Posting Komentar