/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Manuel definition af recordset felter
Fra : Klaus Ambrass


Dato : 22-01-03 10:52

Hej,

jeg sidder og roder med en brugeradmin-app i asp, hvor jeg henter
domæneinformation om brugere fra vores PDC via wsh. Det virker fint,
bortset fra at data kommer ind i tilfældig rækkefølge. Brugerne vil gerne
have det sorteret alfabetisk.

Jeg tænkte på at hente data fra wsh ind i et ADO recordsæt og her sortere
på det via fx rs.Sort "username". Det kræver at jeg laver et tomt recordset
med et par felter og derefter udfylder recordsettet på normal asp-vis.

Recortsettet har desværre ingen feltstruktur efter det bliver oprettet, og
fordi det ikke bygger på hverken tabel eller forespørgsel, så ved
recordsettet ikke hvilke felter (og typer) der skal oprettes.

Kan man gøre det selv? Kan jeg lave noget i stil med:

rs.AddField("ID","autonummer")
rs.AddField("Username","text",50)
rs.AddField("UserGroup",vbFieldTypeText,250)

for at oprette felter i recordsettet?

Hvis man kunne sortere et array i asp eller wsh, er det klart at
foretrække.

Hilfe, plz.
--
Klaus Ambrass

IT - Storstrøms Amt
kam@it.stam.dk

 
 
Carsten Suurland (22-01-2003)
Kommentar
Fra : Carsten Suurland


Dato : 22-01-03 11:05

Hej Klaus

Ikke et direkte svar på dit spørgsmål, men derimod et ønske om at kunne se
hvordan du bruger wsh til at hente brugeroplysninger... Er det noget du har
imod at dele?

/Carsten Suurland



Klaus Ambrass (22-01-2003)
Kommentar
Fra : Klaus Ambrass


Dato : 22-01-03 11:21

"Carsten Suurland" <removethiscarsten@suurland.dk> wrote in
news:b0lqc3$gq2$1@news.cybercity.dk:

> Hej Klaus
>
> Ikke et direkte svar på dit spørgsmål, men derimod et ønske om at kunne
> se hvordan du bruger wsh til at hente brugeroplysninger... Er det noget
> du har imod at dele?
>
> /Carsten Suurland
>
>
>

Hej Carsten,

der nogle forskellige måder (NT, LDAP etc) at gøre det på. Jeg hjar valgt
at benytte NT-information, da jeg kender dette bedst.

Set usr=GetObject("WinNT://domain/username,user")

herefter kan du hente forskellige oplysninger ved at kalde

usr.Name            ' login navn
usr.FullName
usr.Description
usr.AccountDisabled
usr.HomeDirDrive
usr.HomeDirectory
usr.LastLogin
usr.Profile
For Each g in usr.Groups
   g.Name
   g.Description
Next

du kan indlæse dem i variabler som ASP kan håndtere.

Ikke alle felter er på forhånd udfyldt: LastLogin angiver tidspunkt for
sidste login. Hvis brugerens aldrig har været logget på, får du en
runtime fejl. Derfor er det en god ide at benytte ON ERROR RESUME i dit
script.

usr.Groups indeholder listen over de NT-grupper brugeren tilhører. Og det
er dem, jeg gerne vil have sorteret alfabetisk.


--
Klaus Ambrass

IT - Storstrøms Amt
kam@it.stam.dk

Jens Gyldenkærne Cla~ (22-01-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 22-01-03 11:55

Klaus Ambrass skrev:

[Oprette felter i ADO-recordset]

> Kan man gøre det selv?

Ja. Se onlinedokumentationen:
<http://msdn.microsoft.com/library/en-us/ado270/htm/mdcolfields.asp>

> rs.AddField("ID","autonummer")

Så vidt jeg lige kan afkode ovenstående link skal det være:

rs.Fields.Append "ID", adInteger

(jeg kan ikke lige se om man kan definere autonummer)
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Klaus Ambrass (22-01-2003)
Kommentar
Fra : Klaus Ambrass


Dato : 22-01-03 13:14

Jens Gyldenkærne Clausen <jens@gyros.invalid> wrote in
news:Xns930B79487127Djcdmfdk@gyrosmod.dtext.news.tele.dk:

> Klaus Ambrass skrev:
>
> [Oprette felter i ADO-recordset]
>
>> Kan man gøre det selv?
>
> Ja. Se onlinedokumentationen:
> <http://msdn.microsoft.com/library/en-us/ado270/htm/mdcolfields.asp>
>
>> rs.AddField("ID","autonummer")
>
> Så vidt jeg lige kan afkode ovenstående link skal det være:
>
> rs.Fields.Append "ID", adInteger
>
> (jeg kan ikke lige se om man kan definere autonummer)

Hej Jens,

du sendte mig på rette spor. Jeg klarede problemet ved at:

   Set rs=CreateObject("ADODB.RecordSet")
   rs.Fields.Append "GroupName",adVarChar,250
   rs.Open
   
   For Each grp In usr.Groups
      rs.AddNew
       rs("GroupName")=grp.Name
      rs.Update
   Next
   rs.Sort = "GroupName"
   rs.MoveFirst

Voila!
Tak for hjælpen, Jens.

--

Klaus Ambrass
IT - Storstrøms Amt
kam@it.stam.dk

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste