21. oktober 2005 - 00:38Der er
11 kommentarer og 1 løsning
Skal tjekke om Dataset indeholder en bestemt column eller ej.
Hej
Jeg har et dataset som kan indeholder 1 af 2 forskellige datatable (bliver fyldt af en XML fil).
Jeg har brug for at tjekke om den XML som blev fyldt i datatable indeholder en bestemt column (eller et bestemt element.. det er sådan set ligegyldigt). Min plan er at tjekke om XML'en indeholder nogle spillere. Jeg er ligeglad hvordan jeg løser opgaven, bare en bliver løst :)
Jeg fylder på her: private function hentdata() Dim XMLKlub as String XMLKlub = "STI HER" & txtklubid.text XMLdata.ReadXML(XMLKlub) 'response.write(GetRowsByFilter(xmldata, "spiller")) If not GetRowsByFilter(xmldata, "klub") = "" Then dgklub.visible = true dgtest.visible = true dgKlub.datasource = XMLData.Tables("klub") dgKlub.databind()
If not GetRowsByFilter(xmldata, "spiller") = "" then If XMLData.Tables("spiller").rows.count > 0 then antalspillere = XMLData.Tables("spiller").rows.count end if else antalspillere = "ingen spillere" end if end if end function
Her tjekker jeg Datasettet:
Private function GetRowsByFilter(d as dataset, str as string) Dim t As DataTable t = d.Tables(str)
Dim cols As DataColumnCollection = t.Columns
try Dim inte as integer if t.Columns.Count <> 0 then for inte = 0 to t.Columns.Count - 1 response.write(cols(inte).Tostring() & " ") next else response.write("ikke større end 1") end if
If str = "klub" then str = "klub_id <> '0'" elseif str = "spiller" then str = "spiller_id > '0'" end if
Dim foundRows() As DataRow = t.Select(str)
Dim i As Integer For i = 0 to foundRows.GetUpperBound(0) return (foundRows(i)(0)) Next i catch ex as exception response.write(ex.tostring()) end try End function
Nu har jeg brugt uendelige timer på det og jeg sådan set kørt helt fast.. kommer ikke rigtigt videre med det.. Nogen der har en ide om hvordan jeg løser mit problem?
Takker det virkede fint nok, men det gør at jeg kalder den XML en gang til da jeg fylder et dataset med XML'en. Er det muligt at lave en funktion hvor jeg smider dataset med?
Lidt ala det her altså?
function test(d as dataset) 'Kode der tester her.. end function
Og helst i vb.net :) (Pointsene er allerede dine ;)
Namespace E Class MainClass Public Shared Sub Main(ByVal args As String()) Dim doc As XmlDocument = New XmlDocument doc.Load("C:\spiller.xml") Dim xxx As XmlNode = doc.SelectSingleNode("//doc/klub/spillere/spiller[navn='xxx']") Console.WriteLine("xxx: " + (Not (xxx Is Nothing))) Dim yyy As XmlNode = doc.SelectSingleNode("//doc/klub/spillere/spiller[navn='yyy']") Console.WriteLine("yyy: " + (Not (yyy Is Nothing))) End Sub End Class End Namespace
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.