|
| 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
| |
|
|