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
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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.