08. oktober 2007 - 18:25Der er
12 kommentarer og 1 løsning
Generere Dataset
Jeg har brug for at generere et dataset til at sende videre til en webservice vha. en VB-applikation. Data ligger som udgangspunkt i en kommasepareret fil, men skal vel omdannes til xml og hentes ind? Hvordan gør jeg det?
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Using sr As System.IO.StreamReader = New System.IO.StreamReader(csvPath) Dim line As String
Do line = sr.ReadLine() Dim lineArr As String() = line.Split(",")
Dim myDataRow As System.Data.DataRow = myDataTable.NewRow() myDataRow("dinKolonne1") = lineArr(0) myDataRow("dinKolonne2") = lineArr(1) myDataTable.Rows.Add(myDataRow) Loop Until Not line Is Nothing
Jeg har et program der ser sådan her ud foreløbig:
"Imports WindowsApplication1.dk.xxx
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Visible = False
Dim myservice As New XXX_ListFunctions() myservice.XXX_BulkUpdate("wsXXX-Newsletter", "xxx", DATASET) End Sub End Class"
Hvor skal jeg indsætte din kode? Og kræver henvisningen til kolonner at der er en forklaringslinje med kolonnetitler i toppen af den kommaseparerede fil?
Oh, jeg kom vist til at læse dit spørgsmål "den anden vej rundt" som i "hvordan laver jeg et datasæt som jeg sender *fra* en webservice".
Den centrale kode er dog (stort set) den samme:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myDataSet As System.Data.DataSet = DinFuntion()
Me.Visible = False
Dim myservice As New XXX_ListFunctions() myservice.XXX_BulkUpdate("wsXXX-Newsletter", "xxx", myDataSet) End Sub
Public Function DinFuntion() As System.Data.DataSet Dim csvPath As String = "C:\\sti\\til\\din\\fil\\e800069.csv"
Dim myDataSet As System.Data.DataSet = New System.Data.DataSet()
Dim myDataTable As System.Data.DataTable = New System.Data.DataTable("dinTabel")
Using sr As System.IO.StreamReader = New System.IO.StreamReader(csvPath) Dim line As String
Do line = sr.ReadLine() Dim lineArr As String() = line.Split(",")
Dim myDataRow As System.Data.DataRow = myDataTable.NewRow() myDataRow("dinKolonne1") = lineArr(0) myDataRow("dinKolonne2") = lineArr(1) myDataTable.Rows.Add(myDataRow) Loop Until Not line Is Nothing
Jeg gætter på at dit dataset skal være formateret på en eller anden speciel måde før at webservicen kan bruge den til noget?
Mht. om webservicen fejler eller ej, så tror jeg nok at det første jeg ville tjekke var om XXX_BulkUpdate() returnere en værdi som siger noget om hvorvidt tingene gik godt elelr ej.
Hvis den ikke gør det, så ville jeg dernæst kigge efter om der var et kald man kunne sende til webservicen for at få en eventuel fejlkode at vide.
Endeligt ville jeg tjekke efter på webserveren - men det kræver selvfølgelig at der er adgang til denne.
Nu ved jeg ikke lige hvilken type, men det kunne være et bud at den returnerede en int (det finder du sikkeret ud af ved at holde musen over koden):
Dim errCode As Integer = myservice.XXX_BulkUpdate("wsXXX-Newsletter", "xxx", myDataSet)
If (errCode <> 0) Then MessageBox.Show("FEJL") End If
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.