13. januar 2006 - 15:26Der er
12 kommentarer og 1 løsning
Problem med SQL
Hej..
Jeg har en sql som laver fejl:
SQL = "SELECT * FROM ef_hot WHERE ok = '1' AND alder(ownerage) >= "&strFrom&" AND alder(ownerage) <= "&strTo&" Order By Rand() Limit 1"
Får følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-standard]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(ownerage) >= 15 AND alder(ownerage) <= 20 Order By Rand() Limi
Jeg har øverst på siden denne funktion:
function alder(dato) a = Year(date) - Year(dato) if Month(date) < Month(dato) OR (Month(date) = Month(dato) AND Day(date) < Day(dato)) then a = a -1 end if
Kan man ikke udføre en funktion i en sql? alder = a end function
Jo...det kan man godt...men du skal huske at adskille hvad der er sql-sætning og hvad der er ASP kode. Det gør du allerede ved dine variabler kan jeg se :o)
SQL = "SELECT * FROM ef_hot WHERE ok = '1' AND " & alder(ownerage) & " >= " & strFrom & " AND " & alder(ownerage) & " <= " & strTo & " Order By Rand() Limit 1"
Jo. Hvis ownerage er et felt i din database, så bliver du nød til at hente den værdi ud af databasen og ind i en variabel, inden du kalder din sql sætning.
Tror godt jeg kan se hvor du vil hen. Det nemmeste du kan gøre er at hente data fra databasen ind i et array og derefter løbe det array igennem for at finde de poster hvor alderen ligger mellem "strFrom" og "strTo".
Det kan evt. skyldes at databasen kører efter engelske datoer...mm-dd-yyyy. Prøv at bytte rundt på dag og måned i dine datoer. Nogle databasetyper vil også gerne have "'" eller "#" omkring datoer.
nu virker det sådan da.. Hvordan får jeg den til altid at lave datoerne med 2 cifre? Lige nu er det jo 13-1-2006.. Jeg vil gerne have det til at være 13-01-2006.. Ellers kan den ikke find ud af det..
Synes godt om
Ny brugerNybegynder
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.