webForumDet fria alternativet

Unikt fält på client side.

ASP

6 svar · 180 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Frågan#1

Hejsan, finns det någon som har lyckats skapa ett fält som stegar (en counter) i ett recordset?
Jag har kollat på diverse fälttyper coh fältattribut, men inte riktigt kommit fram till något, kanske det inte går att skapa ett sådant fält när man inte har tillgång till någon provider eller databas.

Mvh, Vide

------------------
Jag utvecklar invecklade veck, totalt väck

Medlem sedan mars 20002 836 inlägg
#2

Hello Vide,

Hittade själv inget sådant som automatiskt räknade upp en counter.

Jag löste det så här (obs! förutsättningarna är din artikel på www.webeye.nu):

<html>
<head>
<title>Recordset utan databas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%
Const adUseClient = 3
Const adInteger = 3
Const adVarChar = 200

Set objRS = Server.CreateObject("ADODB.Recordset")
	With objRS
		.CursorLocation = 3 '## -- adUseClient --
		.CursorType = 3
		.LockType = 3	
		.Fields.Append "id", adInteger
		.Fields.Append "name", adVarChar, 50
		.Fields.Append "group", adInteger
		.Open
	End With
	
	AddPerson "PatrikB", 1
	AddPerson "jorgen", 1
	AddPerson "Vide", 2
	
	'## -- move to first record in recordset --
	objRS.MoveFirst
	
	Do Until objRS.EOF
		Response.Write "ID: " & objRS(0) & "<BR>" & _
			"Name: " & objRS(1) & "<BR>" & _
			"Group: " & objRS(2) & "<BR><BR>"
		
		objRS.MoveNext
	Loop
Set objRS = Nothing
%>
</body>
</html>
<%
'## -- update recordset counter --
Function GetCounter(ByVal Recordset)
	Dim intTempCounter
	
	'## -- sort the recordset by counter field ascending --
	Recordset.Sort = "id ASC"
	
	'## -- check if recordset contain any records --
	If Not Recordset.EOF Then
		'## -- records found. move to last record to get last counter --
		Recordset.MoveLast
	
		'## -- count up the recordsetcounter by one --
		intTempCounter = Recordset(0) + 1
	Else
		intTempCounter = 1
	End If
	
	'## -- return new counter value --
	GetCounter = intTempCounter
End Function

'## -- add new posts/records to recordset --
Sub AddPerson(ByVal Name, ByVal GroupID)
	Dim intCounter
	
	'## -- get new counter value for unique id --
	intCounter = GetCounter(objRS)
	
	'## -- check if recordset contain any records --
	If Not objRS.EOF Then
		'## -- records found. move to last recordset before adding new records --
		objRS.MoveLast
	End If

	'## -- start of adding new records to recordset --
	objRS.AddNew
		objRS(0) = intCounter
		objRS(1) = Name
		objRS(2) = GroupID
	objRS.Update '## -- update recordset with new records --
End Sub
%>

Byggde mig en funktion som kollade högsta id och sedan returnerade högsta id + 1.

Återkom om du hittar ett värde man kan sätta för att öka countern automatiskt ... blir ju trots allt smidigare i längden *ler*

cya,
PatrikB

------------------
*ordning och reda!, pengar på fredag.*

[Redigerat av PatrikB den 20 sep 2001]

Medlem sedan dec. 19998 577 inlägg
#3

Jo, sådär löste jag det också, men det känns som sagt lite osmidigt. :)

------------------
Jag utvecklar invecklade veck, totalt väck

Medlem sedan dec. 19998 577 inlägg
#4

Jag kan ju meddela att jag inte hittat något sätt under ASP. Men i ASP.NET gick det som en dans... :D

ASP.NET rox

------------------
"For every fatal shooting, there were roughly three non-fatal shootings. And, folks, this is unacceptable in America. It's just unacceptable. And we're going to do something about it."
-G. W. Bush
un.eyebew

Medlem sedan dec. 19996 522 inlägg
#5

För mig som är förvirrad som vanligt, vad använder man ett sådant script för typ ? som patrikb postade

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

Medlem sedan dec. 19998 577 inlägg
#6

Jag brukar lagra data i dom. ;)

Alvarligt talat så används det till mycket, det senaste jag använt det till är en helt ny undersökningstyp där jag lagrar frågor, typ som en konfigurationsfil. Det fungerar precis som en databas, men är enklare att porta ut till andra applikationer, och det är lättare att se hur det är konfigurerat.

Hur man gör har jag skrivit i min senaste artikel: http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_16.asp

Dock hittade jag inget bra exempel man kunde använda på ett simpelt sätt.

Mvh, Vide

------------------
Doesn't 'expecting the unexpected" make the unexpected expected?
un.eyebew

Medlem sedan mars 20002 836 inlägg
#7

Vide

din mailadress som går från din sida funkar ej.

Fick tillbaka mailet med user unknown. Verkar som om den är relayad till en telia adress ... kanske bara de som har strul.

------------------
*ordning och reda!, pengar på fredag.*

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)