webForumDet fria alternativet

Hitta första id:n automatiskt?

ASP

23 svar · 534 visningar · startad av Meng

Medlem sedan feb. 2003549 inlägg
Frågan#1

Tjena som ni ser på koden nedan så frågar den efter databasens id nr 32, kan man få den så den automatiskt tar det minsta id nummret istället? allså om 12 är lägst så hämtar den index2.asp?ID=12 ??

<iframe name="dir" frameborder="0" width="100%" height="100%" src="index2.asp?ID=32"></iframe>
Medlem sedan mars 2003772 inlägg
#2

Det sköter du i själva sql queryn.
Om du bara ska hämta en post kan du väl göra en "order by ID ASC" så kommer den lista det lägsta ID't först.
Sen skriver du bara ut posten.

Medlem sedan nov. 20014 054 inlägg
#3

Re: Hitta första id:n automatiskt?

Meng skrev:

Tjena som ni ser på koden nedan så frågar den efter databasens id nr 32, kan man få den så den automatiskt tar det minsta id nummret istället? allså om 12 är lägst så hämtar den index2.asp?ID=12 ??

<iframe name="dir" frameborder="0" width="100%" height="100%" src="index2.asp?ID=32"></iframe>
SELECT MIN(ID) FROM tabelnamn

Där ID är ex. räknaren.

Kanske?

Beror på hur du menar?

Medlem sedan feb. 200112 078 inlägg
#4
SELECT TOP 1 * FROM tabellnamn ORDER BY id
Medlem sedan juni 200032 967 inlägg
#5

Fast nu var det ju lägsta ID som önskades, så sortera ASC istället. ;)

Red: Där var du snabb, OveRRidE. :)

Mvh

Medlem sedan feb. 200112 078 inlägg
#6

@nders skrev:

Fast nu var det ju lägsta ID som önskades, så sortera ASC istället. ;)

Red: Där var du snabb, OveRRidE. :)

Mvh

Jag visste att du skulle hinna anmärka på det där. :e

Medlem sedan feb. 2003549 inlägg
#7

Men jag behöver en funktion som jag använder när jag skriver src:n allså index2.asp?ID=<%hämtaförstaID:n%>

Den ska hämta det från ett table i databasen som heter news.

Funkar detta?

Medlem sedan juni 200032 967 inlägg
#8

Meng skrev:

Men jag behöver en funktion som jag använder när jag skriver src:n allså index2.asp?ID=<%hämtaförstaID:n%>

Varför?

Medlem sedan feb. 2003549 inlägg
#9

För det ska ju ligga i iframen jag visade på första inlägget?

Då måste jag har en funktion som kolla vilket id nummer som är lägst och sen hämtar jag det till adressen... eller har jag missat något nu?

Medlem sedan juni 200032 967 inlägg
#10

Varför måste du i förhand veta vilket id-nummer som är lägst? Det är väl ganska irrelevant?

OveRRidEs SQL-fråga ovan hämtar den post med lägst ID-nummer.

Medlem sedan feb. 200112 078 inlägg
#11
'förutsätter att conn är definerad och öppnad
set rs = conn.execute("SELECT TOP 1 * FROM tabellnamn ORDER BY id")
lFirstId = rs("id")
set rs = nothing

  response.write "<a href=""index2.asp?ID=" & =lFirstId  & """>Din länk</a>"

'set conn = nothing
Medlem sedan feb. 2003549 inlägg
#12

Allså jag är värsta nybörjaren när det gäller asp, och jag kan inte få detta att fungera.. största felet är kanske att jag inte förstår hur allting fungerar..

<% strConnect = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& _  
              Server.MapPath("db/afd.mdb")  
  
Set objConn = Server.CreateObject("ADODB.Connection") 
set rs = conn.execute("SELECT TOP 1 * FROM news ORDER BY id")
lFirstId = rs("id")
set rs = nothing

  response.write "<iframe name="dir" frameborder="0" width="100%" height="100%" src=""index2.asp?ID=" & =lFirstId  & """></iframe>"

set conn = nothing %>

Får felet:

Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a0401' 

Slut på sætning var ventet 

/test/okonomi/index3.asp, linje 9 

response.write "<iframe name="dir" frameborder="0" width="100%" height="100%" src=""index2.asp?ID=" & =lFirstId  & """></iframe>"
------------------------------^
Medlem sedan juni 200032 967 inlägg
#13

Eftersom citationstecken omsluter strängar i asp, så måste du escapea alla citationstecken om du vill ha sådana i dina strängar.

response.write "<iframe name=""dir"" frameborder=""0"" width=""100%"" height=""100%"" src=""index2.asp?ID=" & =lFirstId  & """></iframe>"

mvh

Medlem sedan feb. 2003549 inlägg
#14

Nytt fel:

Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a03ea' 

Der er en syntaksfejl 

/test/okonomi/index3.asp, linje 9 

response.write "<iframe name=""dir"" frameborder=""0"" width=""100%"" height=""100%"" src=""index2.asp?ID=" & =lFirstId  & """></iframe>"
--------------------------------------------------------------------------------------------------------------^
Medlem sedan feb. 200112 078 inlägg
#15

Meng skrev:

Nytt fel:

Der opstod en Microsoft VBScript-kompileringsfejl fejl '800a03ea' 

Der er en syntaksfejl 

/test/okonomi/index3.asp, linje 9 

response.write "<iframe name=""dir"" frameborder=""0"" width=""100%"" height=""100%"" src=""index2.asp?ID=" & =lFirstId  & """></iframe>"
--------------------------------------------------------------------------------------------------------------^
response.write "<iframe name=""dir"" frameborder=""0"" width=""100%"" height=""100%"" src=""index2.asp?ID=" & lFirstId  & """></iframe>"
Medlem sedan feb. 2003549 inlägg
#16

Nytt fel (igen) :birp

Microsoft VBScript runtime fejl '800a01a8' 

Object required: 'conn' 

/test/okonomi/index3.asp, linje 5

Rad 5:

set rs = conn.execute("SELECT TOP 1 * FROM news ORDER BY id")
Medlem sedan feb. 200112 078 inlägg
#17

Om vi översätter frasen 'Object required' till svenska så får vi resultatet 'Ett objekt krävs'. Efter detta kommer ett kolon och sedan ordet 'conn' inom apostrofer, vilket rimligtvis borde symbolisera det aktuella objektnamnet.

Alltså; VBScript-motorn vill göra dig uppmärksam på att objektet 'conn' saknas eller inte är definerat. Jätteenkelt om man läser felmeddelandet en gång till.

Eftersom connection-objektet är dim:at till objConn tidigare i koden, och inte som conn, så blir det givetvis fel.

set rs = objConn.execute("SELECT TOP 1 * FROM news ORDER BY id")
Medlem sedan feb. 2003549 inlägg
#18

What you just said was alot of Bla, bla bla, bla bla :e

Nä jag fixade in det, och jag försöker fortfarande förstå. men nu fick jag ett nytt felmeddelande:

ADODB.Connection fejl '800a0e78' 

Handlingen er ikke tilladt, mens objektet er lukket. 

/test/okonomi/index3.asp, linje 5

Det förstår jag ju också vad motorn menar men jag har ju ingen aning om vad jag ska göra åt det. Handlingen förbjuden eftersom objektet är stängt. då ska jag allså öppna objektet?

Kod för närvarande:

<% strConnect = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& _  
              Server.MapPath("db/afd.mdb")  
  
Set objConn = Server.CreateObject("ADODB.Connection") 
set rs = objConn.execute("SELECT TOP 1 * FROM news ORDER BY id")
lFirstId = rs("id")
set rs = nothing

  response.write "<iframe name=""dir"" frameborder=""0"" width=""100%"" height=""100%"" src=""index2.asp?ID=" & lFirstId  & """></iframe>"

set conn = nothing %>
Medlem sedan feb. 200112 078 inlägg
#19

Du måste öppna connection-objektet också.

<% 
Set objConn = Server.CreateObject("ADODB.Connection") 
objConn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")
set rs = objConn.execute("SELECT TOP 1 * FROM news ORDER BY id")
lFirstId = rs("id")
set rs = nothing

  response.write "<iframe name=""dir"" frameborder=""0"" width=""100%"" height=""100%"" src=""index2.asp?ID=" & lFirstId  & """></iframe>"

set objConn = nothing
 %>
Medlem sedan feb. 2003549 inlägg
#20

Nu fungerade det.

objConn.open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="& server.MapPath("db/afd.mdb")

öppnar objektet.

Vad betyde isf:

strConnect

?

Tack för all hjälp Override, nångång lär jag mig nog =)

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)