webForumDet fria alternativet

Hitta första id:n automatiskt?

ASP

23 svar · 538 visningar · startad av Meng · sida 2 av 2

Frågan, av Meng

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>

Läs frågan i sin helhet →
Medlem sedan feb. 200112 078 inlägg
#21

Det är lungt.

strConnect var bara en variabel som innehöll "Provider=Micros... osv", som talar om för objConn var databasen ligger, vilket provider som skall användas mm. Men som du såg, så tog jag bort strConnect eftersom den i ditt fall var onödig, då man kan skriva strängen direkt i anropen av .open.

Medlem sedan maj 20012 812 inlägg
#22

strConnect är bara en variable för att spara din connectionsträng i. Den behöver du inte om du skriver direkt. Till just ADO kan man göra på flera sätt vilket givetviss är förvirande när man är ny.

Set oConnection = server.createobject("ADODB.Connection")

För att öppna kopplingen till databasen kan man nu göra på följande sätt.

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

oConnection.open sConnectionString

eller

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

eller

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

oConnection.ConnectionString = sConnectionString
oConnection.open

Och inte nog med det, nu har du bara öppnat kopplingen vill du sedan hämta data så kan man göra på flera olika, tänker inte visa alla här, eftersom de flesta SUGER. Så jag visar de som du kommer att använda i 99% av dina fall.

SELECT

Dim oConnection
Dim oRecordSet
Dim sSQL
Dim sConnectionString

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

sSQL = "SELECT * FROM [tabell]"

Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.open sConnectionString

set oRecordSet = oConnection.Execute(sSQL)
do until oRecordSet.EOF
'--
'-- Do what you want with your data...
'--
oRecordSet.MoveNext
loop

oRecordSet.close : set oRecordSet = nothing
oConnection.close : Set oConnection = nothing

INSERT/DELETE/UPDATE

Dim oConnection
Dim sSQL
Dim sConnectionString

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

sSQL = "DELETE FROM [Table] WHERE [ID] = 1"

Set oConnection = Server.CreateObject("ADODB.Connection")
oConnection.open sConnectionString

oConnection.Execute sSQL,,128

oConnection.close : Set oConnection = nothing

Sedan finns möjligheten att använda GetRows() som kan hjälpa dig med prestandan, men det tar vi inte upp nu.

- M

Medlem sedan feb. 200112 078 inlägg
#23

:)

Medlem sedan feb. 2003549 inlägg
#24

:birp

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)