Har en tabell med ordrar. Jag vill därför kunna visa Pröva med:Hämta ordrar som är betalda
1) Alla ordrar - inga problem
2) Endast betalda ordrar
3) Endast obetalda ordrar
I tabellen ordrar finns kolumnen betald som är av typen datum (2004-02-13 19:47:45).
Om man har betalat så läggs datum/tid in fär detta om man inte har betalat så är den tom.
Nu har jag (lite förkortat) denna kod (för att visa betalda)<code>
<!--#include file="connstring.asp" -->
<%
SET ordrar=Conn.execute("SELECT * FROM ordrar WHERE betald<>"" ORDER BY lagd DESC")
IF ordrar.EOF THEN
Response.Write("inga betalda")
ELSE
DO Until ordrar.EOF
Response.Write(ordrar("id")&"<BR>")
ordrar.MoveNext
Loop
END IF
conn.close
SET ordrar=nothing
SET conn=nothing
%>
</code>
Men får felet:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel i sträng i frågeuttrycket 'betald<>" ORDER BY lagd DESC'.
Vad göra?Sv: Hämta ordrar som är betalda
SELECT * FROM ordrar WHERE betald IS NOT NULL ORDER BY lagd DESC
Ett tomt fält i en databas är ingen nollängdssträng utan det består av ett NULL-värde.