webForumDet fria alternativet
Logga in / Bli medlem

Order by array

ASP

7 svar · 585 visningar · startad av mozilla

Medlem sedan juli 20011 084 inlägg
Trådstart#1

Okej jag håller på med en sida som läser av en textfil som databas, i text filen ligger alla poster på varsin rad! som jag sedan splittrar upp i en array? men nu skulle jag vilja få dem att sorteras efter bokstav också? är det möjligt på något sätt?

jag fick sedan lite i bak huvudet "Dictionary", jag är inte så hemma hur det fungerar. är det möjligt att ha flera värden och sedan sortera ut dem?

Medlem sedan dec. 200012 464 inlägg
#2

Använd ett recordset som är client-side och använd sort. (Skippa array och dictionary.)

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdprosortpropertyado.asp

Medlem sedan juli 20011 084 inlägg
#3

aj då!

Jag hittade en guide på vides hemsida som går igenom det jag tror att du menar, Men så klart fick jag error när jag var klar och testade koden?

ADODB.Recordset fel '800a0bb9'

Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.

/test.asp, rad 10 ADODB.Recordset fel '800a0bb9'

så jag testade då att bara kopiera hans fil och köra den! fick samma error igen vid rad 10 har vi denna kod bit. :q

Set rs = Server.CreateObject("Adodb.Recordset")
With rs
.CursorLocation = adUseClient
.Fields.Append "Id", adInteger
.Fields.Append "Name", adVarChar, 50
.Fields.Append "Group", adVarChar, 50
.open
End With

jag har testat med båda adUseClient och 3, men jag får det inte att fungera så jag vänder mig till er.

Medlem sedan dec. 200012 464 inlägg
#4

adInteger är nog odefnierad.
Om du inkluderar filen adovbs.inc så defieras alla konstanter som börjar på ad.

Om du inte vill ha med hela filen så kan du själv lägga till definitioner för de konstanter som du använder.

Medlem sedan juli 20011 084 inlägg
#5

okej, tack där hade vi det! hade tagit bort en del i min adovbs.inc, men vad ska man göra då? är det lika bra att infoga hela eller att bara definera de som man använder?

Medlem sedan dec. 200012 464 inlägg
#6

Du kan lägga in detta i global.asa

<!--METADATA TYPE="typelib"
FILE="C:\Program Files\Common Files\SYSTEM\ADO\msado15.dll"
NAME="ADODB Type Library" -->

så har du alltid allt med.

Eller så kan du enbart definiera det du behöver, då man annars får med sig en hel del onödigt.

Medlem sedan juli 20011 084 inlägg
#7

har en ny liten fundering nu! jo man sorterar ju ut med rs.Sort = "tbf_title Asc" men jag vill sortera efter datum och storlek? Jag har med en if sats gjort så den ändras! men de sorteras ju inte rätt utan kommer fel. dvs
9
8
3
1
10

osv? fältet har adVarChar, 50 om jag ändrar till adInteger så blir det error.

Microsoft Cursor Engine (0x80040E21)
En flerstegsåtgärd skapade fel. Kontrollera alla statusvärden.

jag hämtar allt ur en text fil och lägger till? hur gör man den för att behandlas som ett tal inte text?

Medlem sedan mars 20002 836 inlägg
#8
strText = Trim(" 101")

intText = CInt(strText)

så blir texten numeriskt

cya,
PatrikB

274 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)