Avatar billede starf Nybegynder
21. marts 2006 - 09:13 Der er 7 kommentarer og
1 løsning

Unknown column 'Novatech' in 'where clause'

Hej

Jeg forsøger at lave et asp script der viser alle post fra en db, hvor client feltet er = XXXX

problemet er jeg får hele tiden denne her fejl, og nu har jeg kigget mig blind på den i et par dage! Håber nogle kan se hva jeg gør galt!

Jeg har self tjekket om client er skrevet på samme måde som i db, og det er det.

<% if mode = "client" then %>
<form method="POST" action="?mode=client&client=<%=Request.QueryString("client")%>"> 

<%
SQL = "Select * From ind_ordre where client="& Request.QueryString("client")
set rs = Conn.execute(SQL)
%>
%>
Intet i db'en
<%
else
%>

<b>Showing All Ordres for:</b>XXX
<table border="1" cellspacing="2" cellpadding="2">
<tr>
                <td bgcolor="#999999"><strong>Ordre Nr:</strong></td>
                <td bgcolor="#999999"><strong>Client:</strong></td>
                <td bgcolor="#999999"><strong>Status:</strong></td>
                <td bgcolor="#999999"><strong>Ordre Type:</strong></td>
                <td bgcolor="#999999"><strong>Product:</strong></td>
                <td bgcolor="#999999"><strong>No. of Products:</strong></td>
                <td bgcolor="#999999"><strong>Ordre Date:</strong></td>
                <td bgcolor="#999999"><strong>Delivery Date:</strong></td>
</tr>
<%
Do Until rs.EOF
%>
<tr>
<td valign="top" bgcolor="#cccccc"><a href="?mode=show&ordrenr=<%=rs("ordre_nr")%>"><%=rs("ordre_nr")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("client")%></td>
<td valign="top" bgcolor="#cccccc"><a href="?mode=status&ordrenr=<%=rs("ordre_nr")%>"><%=rs("status")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("type")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("product")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("no_product")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("date_created")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("del_time")%></td>
</tr>
<%
rs.MoveNext
Loop
Conn.close
end if
%>
Avatar billede fennec Nybegynder
21. marts 2006 - 09:17 #1
Vil tro det er fordi client er en tekst og derfor skal omkrandes af ':
SQL = "Select * From ind_ordre where client='"& Request.QueryString("client") &"'"
Avatar billede musicchart.dk Nybegynder
21. marts 2006 - 09:23 #2
jeg kan ikke lige gennemskue hvad din kode skal.

if mode = "client" then
'Så bliver der uskrevet et form-tag. Og oprettet et record set

else
'Så viser den indholdet af dette record set????
endif

Tror du ikke du skal have dit record set med i din 'else'?
Men for at være helt ærligt, så kan jeg altså ikke se mening i din kode - er der ikke mere, end det du har kopieret herind?

Nå, men prøv dette:

<% if mode = "client" then %>
<form method="POST" action="?mode=client&client=<%=Request.QueryString("client")%>"> 
%>
Intet i db'en
<%
else

SQL = "Select * From ind_ordre where client="& Request.QueryString("client")
set rs = Conn.execute(SQL)

if nots rs.eof then
%>

<b>Showing All Ordres for:</b>XXX
<table border="1" cellspacing="2" cellpadding="2">
<tr>
                <td bgcolor="#999999"><strong>Ordre Nr:</strong></td>
                <td bgcolor="#999999"><strong>Client:</strong></td>
                <td bgcolor="#999999"><strong>Status:</strong></td>
                <td bgcolor="#999999"><strong>Ordre Type:</strong></td>
                <td bgcolor="#999999"><strong>Product:</strong></td>
                <td bgcolor="#999999"><strong>No. of Products:</strong></td>
                <td bgcolor="#999999"><strong>Ordre Date:</strong></td>
                <td bgcolor="#999999"><strong>Delivery Date:</strong></td>
</tr>
<%
Do Until rs.EOF
%>
<tr>
<td valign="top" bgcolor="#cccccc"><a href="?mode=show&ordrenr=<%=rs("ordre_nr")%>"><%=rs("ordre_nr")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("client")%></td>
<td valign="top" bgcolor="#cccccc"><a href="?mode=status&ordrenr=<%=rs("ordre_nr")%>"><%=rs("status")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("type")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("product")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("no_product")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("date_created")%></td>
<td valign="top" bgcolor="#cccccc"><%=rs("del_time")%></td>
</tr>
<%
rs.MoveNext
Loop
end if
Conn.close
end if
%>
Avatar billede starf Nybegynder
21. marts 2006 - 09:40 #3
Fenntec> Tak det virker! smid et svar :)

musicchart.dk> Jo der var 400 linier mere kode, men var vel ingen ide i at poste det hele når det kun var den "mode" der havde problemer :)
Avatar billede musicchart.dk Nybegynder
21. marts 2006 - 09:42 #4
Så forsår jeg det bedre :o) - men HUSK - er din type i databasen en streng, skal du omkranse din variabel i SQL-sætningen med '' - du kan kun undlade dette, hvis det er en int.
Avatar billede starf Nybegynder
21. marts 2006 - 09:45 #5
ah takker mange gange for forklaringen, havde nemelig gjort det andre steder, bare med tal, så ku ik lige forstå det. men tak!
Avatar billede fennec Nybegynder
21. marts 2006 - 09:46 #6
.o) <-- One Eyed Jack
Avatar billede fennec Nybegynder
21. marts 2006 - 09:53 #7
Og så skal du desuden være opmærksom på ' problemet, hvis dine variabler indeholder ' tegnet:

besk = "En tekst med ' tegn"
SQL = "select * from dinTabel where description = '"& besk &"'"

Denne vil nemlig fejle fordi SQL-sætningen bliver til:
select * from dinTabel where description = 'En tekst med ' tegn'

Her skal ' udskiftes med 2 for at escape ' tegnet:
SQL = "select * from dinTabel where description = '"& replace(besk,"'","''") &"'"

så det bliver til:
select * from dinTabel where description = 'En tekst med '' tegn'

Det er altså en god ide at sende ALLE dine tekst variabler igennem replace funktionen, så du udskifter evt. ' tegn med 2.
Avatar billede starf Nybegynder
21. marts 2006 - 09:56 #8
fennec> Tak for den yderlige forklaring, ku blive brugbart! endnu engang tak! forsat god dag
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