Avatar billede bigo Nybegynder
11. december 2000 - 21:01 Der er 14 kommentarer og
1 løsning

Felt navn, type osv

Hej.

Jeg vil gerne kunne hente data på et felt i en database op i en variabel. F.eks. feltnavn, feltværdi, feltlængde (f.eks. 20 eller 50 tegns længde på et tekstfelt)

Kan det lade sig gøre?
Avatar billede tpiil Nybegynder
11. december 2000 - 21:02 #1
<%=Left(rs(\"felt\"),40)%>
det udskriver 40 tegn!
Avatar billede tdaugaard Nybegynder
11. december 2000 - 21:08 #2
tpill kender ikke til error handling ;-)

<%If Len(rs(\"felt\")) > 40 Then Response.Write Left(rs(\"felt\"),40)%>
Avatar billede bigo Nybegynder
11. december 2000 - 21:08 #3
scriptet skal selv tage fat i tabellen / databasen og se hvad der er i den.. og så hente værdierne ind i variabler..
Avatar billede tdaugaard Nybegynder
11. december 2000 - 21:12 #4
Set ConnectDB = Server.CreateObject(\"ADODB.Connection\")
Set CmdRecord = Server.CreateObject(\"ADODB.RecordSet\")

strSQLQuery = \"DBQ=\" & Server.MapPath(\"DIN_DB.MDB\") & \";Driver={Microsoft Access Driver (*.mdb)}\"
ConnectDB.Open strSQLQuery
strSQL = \"SELECT * FROM din_tabel WHERE et_felt=\'en værdi\';\"

Set CmdRecord = ConnectDB.Execute(strSQL)
    If Not CmdRecord.EOF And Not CmdRecord.BOF Then
strVaerdi = CmdRecord(\"level\")
If Len(strVaerdi) > 40 Then strVaerdi = Left(strVaerdi, 40)
Set CmdRecord = Nothing
ConnectDB.Close: Set ConnectDB = Nothing

response.write strVaerdi
Avatar billede tpiil Nybegynder
11. december 2000 - 21:14 #5
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"db.mdb\")
SQL = \"Select * From tabel;\"
set rs = Conn.execute(SQL)
if rs.EOF then
%>
<%If Len(rs(\"felt\")) > 40 Then Response.Write Left(rs(\"felt\"),40)%>
Avatar billede bigo Nybegynder
11. december 2000 - 21:21 #6
Hvad nu hvis feltet er en ja/nej ting eller et tal ? Det jeg mener er: I access kan du f.eks. oprette et ID som har en autotildeling af fortløbende nummre. Du giver et feltnavn og en datatype samt evt. beskrivelse. Det er feltnavnet og datatypen jeg er interesseret i at putte i en variabel. Eks. navn=rs(feltnavn), type=rs(datatype) - ikke helt rigtigt er jeg sikker på men det var nu sådan jeg forestiller mig det.
Avatar billede netsrac Praktikant
11. december 2000 - 21:24 #7
Det lyder mere som om det bigo spørger efter er noget i retningen af:

Function Tabeldesign(base,tabel)
    Set conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & base
    set rs = Conn.Execute(\"Select * from \" & tabel)
    For each head IN rs.Fields
    tmp = \"<b>Felt navn: </b>\" & head.name & \"<BR>\" & \"<b>Felt Type: </b>\" & head.type & \"<BR>\" & \"<b>Felt Attributes: </B>\" & head.attributes & \"<BR>\"
    Next
    tabeldesign = tmp
    conn.Close
    Set conn = nothing
End Function

Indsæt følgende funktion i din asp kode og kald den således:

response.write tabeldesign(\"c:\\inetpub\\wwwroot\\mindb.mdb\",\"mintabel\")
Avatar billede tdaugaard Nybegynder
11. december 2000 - 21:24 #8
Nåå . .du vil have navnet på feltet og ikke værdien af det ? og så vil du have typen af feltet  også ? det aner jeg ikke en meter om men prøv at hente

http://www.tdaugaard.dk/x/xdbadmin.zip og kig på det .. det kan muligvis bruges ..
Avatar billede netsrac Praktikant
11. december 2000 - 21:26 #9
Ups en lille fejl:

Function Tabeldesign(base,tabel)
    Set conn = Server.CreateObject(\"ADODB.Connection\")
    Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & base
    set rs = Conn.Execute(\"Select * from \" & tabel)
    For each head IN rs.Fields
    tmp = tmp & \"<b>Felt navn: </b>\" & head.name & \"<BR>\" & \"<b>Felt Type: </b>\" & head.type & \"<BR>\" & \"<b>Felt Attributes: </B>\" & head.attributes & \"<BR>\"
    Next
    tabeldesign = tmp
    conn.Close
    Set conn = nothing
End Function

Indsæt følgende funktion i din asp kode og kald den således:

response.write tabeldesign(\"c:\\inetpub\\wwwroot\\mindb.mdb\",\"mintabel\")
Avatar billede bigo Nybegynder
11. december 2000 - 21:32 #10
-> netsrac:
Det prøver jeg lige. 2 min..
-> Tdaugaard:
henter dit script bagefter og kigger. 3 min.. ;-)
Avatar billede bigo Nybegynder
11. december 2000 - 21:42 #11
-> netsrac: OK jeg fik vist hvad jeg ville have, med en lille krølle på halen..
-> tdaugaard: xdbadmin.zip findes ikke.. men dbadmin.zip findes.. har jeg hentet men er kun til oprettelse af tabeller. (så vidt jeg kan se.. ret mig hvis jeg tager fejl)
Avatar billede netsrac Praktikant
11. december 2000 - 21:46 #12
Med en lille krølle på halen hvorfor ?
Avatar billede bigo Nybegynder
11. december 2000 - 22:07 #13
felt værdierne er tal som jeg ikke har nogen henvisning til (og når jeg tænker mig om - hvorfor skulle det komme i clear text.. bedre og nemmere for et program med tal.. ;-))

men anyroads.. krøllen var mere:
response.write tabeldesign(\"c:\\inetpub\\wwwroot\\mindb.mdb\",\"mintabel\")

hvordan kan man få mintabel erstatet med en variabel (f.eks. rs(tabelnavn))
Avatar billede netsrac Praktikant
12. december 2000 - 17:40 #14
Hvad er det lige du vil have ??
At scriptet selv henter tabelnavne ud fra databasen ? Det kan også lade sig gøre, men jeg har egentligt svaret på dit spørgsmål.
Avatar billede netsrac Praktikant
12. december 2000 - 17:42 #15
Men hvis du bare vil bruge en variabel så kan du også gøre således.

Minvariabel = \"navnetpaamintabel\"

response.write tabeldesign(\"c:\\inetpub\\wwwroot\\mindb.mdb\",minvariabel)

Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester