Avatar billede jpv Nybegynder
20. august 2003 - 10:26 Der er 23 kommentarer og
2 løsninger

SQL og variabler samt udtræk

Jeg sender følgende variabler over til næste side:
<a href="indhold1.asp?mode=Dansk&kat=penge"
De kommer godt nok over, men så har jeg brug for at kunne
udtrække det fra DB tabel har samme navn som mode og felterne i tabel har samme navn som kat.
<%
dim mode, emne
mode=Replace(request("mode"),"'","")
if mode= "" Then
mode=Dansk
end if
emne=Replace(request("kat"),"'","")

Set rs = Server.CreateObject("ADODB.Recordset")
set rs=connect.execute("SELECT hvad skal der stå her)
%>
og så udskrive det felt i tabel som har samme navn som emne/kat

Håber at det er forståligt
Avatar billede mm12010 Nybegynder
20. august 2003 - 10:28 #1
SELECT * FROM tabel WHERE navn = '"&emne&"'"
Avatar billede eagleeye Praktikant
20. august 2003 - 10:29 #2
For at få tabllen fra mode og kolonne fra emne ind så prøv sådan her:

SQL = "SELECT " & emne & " FROM " & mode
set rs=connect.execute(SQL)
Avatar billede mm12010 Nybegynder
20. august 2003 - 10:30 #3
SELECT * FROM "&mode&" WHERE navn = '"&emne&"'"
Avatar billede mm12010 Nybegynder
20. august 2003 - 10:33 #4
og så:

  Response.Write rs.Fields("ønsket_felt")
Avatar billede jpv Nybegynder
20. august 2003 - 10:38 #5
Til Eagleeye
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
ER det mode?
Avatar billede eagleeye Praktikant
20. august 2003 - 10:40 #6
har du en kolonne som hedder penge?
Avatar billede eagleeye Praktikant
20. august 2003 - 10:41 #7
Du kan evt prøve at udskrive SQL sætningen og se tabel og kolonnenavne er rigtige:

SQL = "SELECT " & emne & " FROM " & mode
Response.Write SQL
Response.End
set rs=connect.execute(SQL)
Avatar billede mm12010 Nybegynder
20. august 2003 - 10:57 #8
SQL = "SELECT [" & emne & "] FROM [" & mode & "]"
Avatar billede jpv Nybegynder
20. august 2003 - 11:01 #9
Jeg har en der hedder penge
Avatar billede eagleeye Praktikant
20. august 2003 - 11:09 #10
Har du prøvet at udskrive den, og prøv at tilføje klammerne [ ] som mm12010 har vist.
Avatar billede jpv Nybegynder
20. august 2003 - 11:12 #11
SELECT [penge] FROM [Dansk]
Dette er svaret jeg får
Avatar billede jpv Nybegynder
20. august 2003 - 11:13 #12
<%
dim mode, emne
mode=Replace(request("mode"),"'","")
if mode= "" Then
mode=Dansk
end if
emne=Replace(request("kat"),"'","")

Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT [" & emne & "] FROM [" & mode & "]"
Response.Write SQL
Response.End
set rs=connect.execute(SQL)
%>
Sådan ser koden ud nu
Avatar billede eagleeye Praktikant
20. august 2003 - 11:13 #13
Ok, og det giver stadig fejlen?
Avatar billede mm12010 Nybegynder
20. august 2003 - 11:13 #14
det burde også virker hvis din tabel hedder 'Dansk' og kolonnen hedder 'penge'
Avatar billede eagleeye Praktikant
20. august 2003 - 11:14 #15
Ok, den ser fin ud.
Prøv at fjerne disse  to linjer igen og se om fejlen kommer.

Response.Write SQL
Response.End
Avatar billede mm12010 Nybegynder
20. august 2003 - 11:14 #16
<%
dim mode, emne
mode=Replace(request("mode"),"'","")
if mode= "" Then
mode=Dansk
end if
emne=Replace(request("kat"),"'","")

Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT [" & emne & "] FROM [" & mode & "]"
Response.Write SQL
set rs=connect.execute(SQL)
Response.Write rs.Fields("penge")
%>
Avatar billede jpv Nybegynder
20. august 2003 - 11:19 #17
Til Eagleeye

Microsoft JET Database Engine error '80040e14'

Syntax error in FROM clause.

/indhold1.asp, line 42
Får jeg af meddelse
Avatar billede jpv Nybegynder
20. august 2003 - 11:21 #18
till mm12010
Får jeg:
SELECT [] FROM []
Microsoft JET Database Engine error '80040e14'

Syntax error in FROM clause.

/indhold1.asp, line 57
Avatar billede eagleeye Praktikant
20. august 2003 - 11:22 #19
Det er også samme kode vi har vist ;)

Det lyder som om du ikke har en tabel som hedder Dansk i din database.
Avatar billede mm12010 Nybegynder
20. august 2003 - 11:24 #20
hvad kommer der af fejl med denne?

<%
SQL = "SELECT * FROM [" & mode & "]"
set rs=connect.execute(SQL)
Response.Write rs.Fields(emne)
SQL = "SELECT * FROM Dansk"
set rs=connect.execute(SQL)
Response.Write rs.Fields("penge")
%>
Avatar billede jpv Nybegynder
20. august 2003 - 11:26 #21
Jo jeg har
Trykker jeg på linket kommer der frem:
SELECT [penge] FROM [Dansk]penge dk
penge dk er hvad der står i kolonne penge i tabel Dansk
Avatar billede eagleeye Praktikant
20. august 2003 - 11:33 #22
Prøv lige sådan her, for hvis din mode er tom sætter du mode=dansk der mangler " omkring eller sætter den indholdet at variablen Dansk ind i mode og ikke teksten "Dansk":

<%
dim mode, emne
mode=Replace(request("mode"),"'","")
if mode= "" Then
mode="Dansk"
end if
emne=Replace(request("kat"),"'","")

Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT [" & emne & "] FROM [" & mode & "]"
set rs=connect.execute(SQL)
Response.Write rs(0)
%>
Avatar billede jpv Nybegynder
20. august 2003 - 11:36 #23
<%
dim mode, emne
mode=Replace(request("mode"),"'","")
if mode= "" Then
'mode=Dansk
end if
emne=Replace(request("kat"),"'","")

Set rs = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT [" & emne & "] FROM [" & mode & "]"
'Response.Write SQL
set rs=connect.execute(SQL)
Response.Write rs.Fields("penge")
%>
Nu skriver den hvad der står i kolonne "penge"
Men penge skulle gerne udskiftes med variablen emne.
Avatar billede jpv Nybegynder
20. august 2003 - 11:40 #24
Nu virker det
Avatar billede jpv Nybegynder
20. august 2003 - 11:40 #25
Mange tak til jeg begge
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