Avatar billede kjohansen Nybegynder
17. oktober 2007 - 18:13 Der er 1 kommentar og
1 løsning

DataTable til en webservice fra en "tyk" klient.

Hej,

Jeg har lavet en funktion i en webservice der acceptere 2 parametre, den ene er en DataTable og den anden en Integer.

I funktionen bliver dataTable'n læsset ind i en fysisk DB.

Mit spørgsmål er, når jeg vil bruge min webservice funktion får jeg en bug i klienten der fortæller mig at den DataTable jeg forsøger at sende ikke kan konverteres til den datatable der er i serveren. I mit tilfælde hedder den logDT.
Parameteren er lavet som 'ByVal logDT as DataTable' og alligevel vil den ikke acceptere den.

Hvad gør jeg galt, er der en anden opskrift den denne slags ?
Avatar billede januskh Nybegynder
05. november 2007 - 22:58 #1
Min erfaring er at du ikke kan overføre datatables via webservices, men du kan derimod overføre DataSet. Så hvis du skriver din Webservice om til at benytte et DataSet i stedet for så burde det lykkes.

I din klientet gør du følgende, når du har dit datatable (logDT):

Dim logDS as New DataSet
logDS.tables.add(logDT)
dk.servernavn.servicenavn.funktionsnavn(logDS)

På serversiden skal du så bare først sikre dig at DataSettet indeholder dit table:
If Not logDS is nothing andalso logDS.tables.count > 0 Then
  Dim logDT as DataTable = logDS.tables(0) ' lidt en skør måde at gøre det på, idet du ligeså godt kunne anvende datasettet.
End If

Jeg håber at dette hjælper dig lidt på vej.

/Januskh
Avatar billede januskh Nybegynder
01. september 2012 - 17:14 #2
Hva? Skal den ikke snart lukkes?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester