webForumDet fria alternativet

Array?

4 svar · 480 visningar · startad av tomas21

tomas21Medlem sedan feb. 2003130 inlägg
#1

Hej!

Jag tänkte göra en liten kodsnutt som tar ut namnent på alla fält i en tabell och sedan lägger in namnet i en array.

Alltså:
SQL = Markera allt från tabellen table
Loopa igenom tabellen
array = array[fält.namn]

Jag vet inte hur jag ska åstadkomma detta hoppas någon kan hjälpa mig.

Jesper TMedlem sedan nov. 20017 144 inlägg
#2

Så här kanske:

Set RecSet = Connect.Execute("SELECT * FROM tabellen")

dim a,i
a = RecSet.Fields.Count
dim faltArray()
redim faltArray(a)
For i = 0 to RecSet.Fields.Count - 1
faltArray(i) = RecSet(i).Name
Response.Write faltArray(i) & "<br>"
next
VimpMedlem sedan juli 20022 537 inlägg
#3

Varför inte köra GetRows?

@ndersMedlem sedan juni 200032 969 inlägg
#4

Vimp skrev:

Varför inte köra GetRows?

Med GetRows får man ju bara tabellens innehåll, inte fältnamnen.

tomas21Medlem sedan feb. 2003130 inlägg
#5

Tack allihop för era svar.

JesperT svar var det som jag sökte.

Det jag egentligen ville göra med denna kod var att jag ville kolla om det fanns ett fält bild i tabellen utefter det så skulle mitt script reagera på olika sätt.

Jag löste det på följande sätt:

<%
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/db1.mdb")&"
Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From " & Request.QueryString("tabell")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

dim a,i
a = RecSet.Fields.Count
'dim faltArray()
redim faltArray(a)
For i = 0 to RecSet.Fields.Count - 1
faltArray(i) = RecSet(i).Name
if faltArray(i) = "Bild" Then
pic = faltArray(i)
End If
next
%>

Det som koden ovan har gjort är att den har gett variabeln pic värdet som finns i fältet Bild. Sen är det enkelt att jobba med denna tex genom olika villkor som tex:

<% If pic = "Bild" Then
       Response.Write "Denna tabell innehåller ett fält som heter bild"
       Else
       Response.Write ""
       End If
%>

Hoppas att någon annan har nytta av detta.

264 ms totalt · 3 externa anrop · v20260731065814-full.91fd2ad2
130 ms — hämta forumlista (db)
131 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)