[.NET] Vullen Recordset mbv Dataset

Pagina: 1
Acties:

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 07:26
Hoe vul ik een Recordset mbv een dataset. Ik heb een XML bericht gebruitk om een dataset te vullen...daarna wil ik deze gebruiken om een recordset te vullen.

how?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:05
Waarom wil je eigenlijk een RecordSet gaan gebruiken ?

https://fgheysels.github.io/


  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 07:26
Vrij logisch lijkt me... wat dacht je van een VB6 component die graag recordsets slurpt. Ik maak in interop aan om een proxy te hebben voor me vb6 COM. Deze slurpt dus een recordset. Ik trek uit de message queue een bericht, converteer deze naar een dataset en deze wil ik weer converteren naar een recordset. De dataset is voor interne verwerking. Het probleem is dus om de interop te verwezelijken met die oude VB6 componenten.

Verwijderd

OF je blijft bij VB6 voor het complete traject, OF je migreert je VB6 componenten naar .NET. Het heeft echt geen zin om half-half de boel aan elkaar te knopen met een stack van converters.

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 07:26
Op maandag 15 april 2002 13:06 schreef Otis het volgende:
OF je blijft bij VB6 voor het complete traject, OF je migreert je VB6 componenten naar .NET. Het heeft echt geen zin om half-half de boel aan elkaar te knopen met een stack van converters.
beetje oftopic... de discussie mbt migreren is hier niet van belang. Trouwens dit statement slaat natuurlijk nergens op of jij begrijpt niet wat COM / COM+ is. Ik kan het nou eenmaal ook niet helpen dat een collega geen XML / Soap beheerst.

svp ontopic want er is nog steeds geen concrete oplossing voor!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
Imports System.Data.OleDb
Imports System.Xml
Imports ADODB

'******************************************************
'** <summary>
'** 
'** </summary>
Module Parser

    '******************************************************
    '** <summary>
    '** 
    '** </summary>
    Public Function ParseMessageToDataSet(ByVal msgMessage As System.Messaging.Message) As Data.DataSet
      Dim dsMessage As Data.DataSet
      Dim srMessage As System.IO.StringReader

      Try
        dsMessage = New System.Data.DataSet()
        srMessage = New System.IO.StringReader(msgMessage.Body)

        dsMessage.ReadXml(srMessage)
      Catch err As Exception
        MsgBox(err.Message)
      End Try
      Return dsMessage
    End Function

    Public Function ParseDataSetToRecordSet(ByVal dsMessage As System.Data.DataSet) As ADODB.Recordset
      Dim rsMessage As ADODB.Recordset
      Dim da As OleDbDataAdapter = New OleDbDataAdapter()
      Try
        da = New System.Data.OleDb.OleDbDataAdapter()
        rsMessage = New ADODB.Recordset()
        da.Fill(dsMessage, rsMessage, "ProductionEvent")
      Catch err As Exception
        MsgBox(err.Message)
      End Try

      Return rsMessage
    End Function

    Public Function ParseMessageToRecordSet(ByVal msgMessage As System.Messaging.Message) As ADODB.Recordset
      Return ParseDataSetToRecordSet(ParseMessageToDataSet(msgMessage))
    End Function

End Module

Als ik dit probeer dan lijkt m'n dataset netjes gevuld te worden alleen gaat er met het vullen dan dat rsMessage iets vet fout.

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 07:26
nogal logisch als dat deze code niet werkt aangezien de da.Fill natuurlijk nooit werkt.

uhm iemand anders een idee?

  • gotcha
  • Registratie: Oktober 1999
  • Laatst online: 29-07 18:20
hmm. vrees toch dat het niet makkelijk gaat zijn. ms heeft niet echt voorzien in een link tussen datasets en de goeie ouwe recordset.
ik zou er bijna gaan denken om de xml in te lezen met een xmlreader ofzo en daar dan in een lusje doorheen te gaan kuieren en stuk voor stuk nieuwe records toe te voegen aan een (lege) recordset...

  • Scare360
  • Registratie: Juli 2001
  • Laatst online: 07:26
yep daar ben ik dus mee bezig, denk dat er toch nogal wat vraag is naar een dergelijke methode...wellicht dat ik alles inpak en als open-source/binairies release.
Pagina: 1