17. juli 2004 - 16:02Der er
27 kommentarer og 1 løsning
Problemer med søgningen i et dataset baseret på en xml-fil
Når jeg laver en søgning i et dataset, der er baseret på en xml fil, hvor jeg ved at søgeresultatet skal give en række, giver den alligevel ingen rækker. Nogen der kan hjælpe mig?
Dim Rolleset2 as new DataSet() Dim Rolletabel2 As DataTable Dim Rollerows2 As DataRow() Rolleset2.ReadXml(filnavn2) Rolletabel2 = Rolleset2.Tables(0) Dim strexpr as string = "gruppeid=3 AND brugerrolleid=2” Rollerows2 = Rolletabel2.Select(strexpr)
if Rollerows2.length>0 then response.write(“der læses”) end if
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.
Hvis jeg læser din xml-fil ind i et dataset har jeg 3 rækker i første tabel i datasættet, så det skulle funge fint. Er du sikker på at værdien af filnavn2 er ok ?
jeps - kan det have noget at sige at funktionen er kompilet? - Hele funktionen ser ud som følgende:
Public function kontrol_BrugerGruppeRolle(brugeren as string,gruppen as string, rollen as string) as boolean strexpr = "" if brugeren="" or gruppen="" or rollen="" then return false exit function end if
strexpr= "gruppeid=" & gruppen & " AND brugerrolleid=" & rollen tester = brugeren & gruppen & rollen dim filnavn2 as string = ConfigurationSettings.AppSettings("server") & ConfigurationSettings.AppSettings("write") & "bruger\" & brugeren & ".xml" dim filInfo2 as new fileinfo(filnavn2) if filinfo2.exists() then Dim Rolleset2 as new DataSet() Dim Rolletabel2 As DataTable Dim Rollerows2 As DataRow() Rolleset2.ReadXml(filnavn2) Rolletabel2 = Rolleset2.Tables(0)
Rollerows2 = Rolletabel2.Select(strexpr) if Rollerows2.length>0 then return true end if exit function else strexpr = "" return false exit function end if end function
Nedenstående giver først 10 og derefter 0 - så der er alstå indhold i dataset fra starten
dim strexpr as string strexpr= "gruppeid=2 AND brugerrolleid=2" dim filnavn2 as string = ConfigurationSettings.AppSettings("server") & ConfigurationSettings.AppSettings("write") & "bruger\" & "1" & ".xml" dim filInfo2 as new fileinfo(filnavn2) if filinfo2.exists() then Dim Rolleset2 as new DataSet() Dim Rolletabel2 As DataTable Dim Rollerows2 As DataRow() Rolleset2.ReadXml(filnavn2) Rolletabel2 = Rolleset2.Tables(0)
virkede ikke alligevel - har fundet frem til noget dybt mærkeligt: hvis brugerrolleid er mindre end gruppeid så virker det fint, men hvis brugerroleid er større end gruppeid så virker det ikke !!! ????
hmmm - noop sikke noget sludder - den søger kun i hver anden post? - der er der fejlen er.... hvordan fann ordner jeg det - du få sgu nogle xtra point hvis du løser dette :-)
he he - virker heller ikke - men kig her: www.edtwodth.dk/test.aspx - 2 xml filer bygget op på den samme måde. Den ene giver det rigtige søgeresultat - den anden tæler forkert?
Ja - det er ikke så godt givet ud :o( (men bedre end en hel week-end :o)
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.