På vilket sätt? Felmeddelande? Är fältet NULL eller innehåller det en tom sträng?
Error Type:
ADODB.Recordset.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]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 'WHERE stamboks_nr is not null AND namn like '' AND na
/databas/connemara_hittat6.asp, line 30
Får man fråga varför? Det fungerar ju ändå
dvs innan jag försöker få den att inte ta med sånna som inte har ifyllt stamboksnummer... det jag klistrat in här saknar den raden.
Anledningen till att du ska lägga till det är inte att något ska fungera bättre, utan att vi ska få se hur SQL-frågan ser ut när den skickas till databasen. Det är det enda väsentliga. Eftersom det är omöjligt för oss att veta vad dina ASP-variabler innehåller när SQL-frågan ska exekveras så är ett enkelt sätt att just skriva ut SQL-frågan.
Vill du inte bli hjälpt?
Får man fråga varför? Det fungerar ju ändå
Va? Du sa ju att SQL-frågan inte fungerar? Du postade ju till och med ett felmeddelande?
hur ska vi kunna berätta för dig vad som är fel på SQL-frågan om du inte vill visa hur den kompletta SQL-frågan ser ut?
Om du inte visar den fullständiga SQL-frågan får du ingen hjälp, eller så tar hjälpen onödigt lång tid, med onödiga irritationsmoment. Så enkelt är det.
Anledningen till att du ska lägga till det är inte att något ska fungera bättre, utan att vi ska få se hur SQL-frågan ser ut när den skickas till databasen. Det är det enda väsentliga. Eftersom det är omöjligt för oss att veta vad dina ASP-variabler innehåller när SQL-frågan ska exekveras så är ett enkelt sätt att just skriva ut SQL-frågan.
Vill du inte bli hjälpt?
Får man fråga varför? Det fungerar ju ändå
Va? Du sa ju att SQL-frågan inte fungerar? Du postade ju till och med ett felmeddelande?
hur ska vi kunna berätta för dig vad som är fel på SQL-frågan om du inte vill visa hur den kompletta SQL-frågan ser ut?
Om du inte visar den fullständiga SQL-frågan får du ingen hjälp, eller så tar hjälpen onödigt lång tid, med onödiga irritationsmoment. Så enkelt är det.
Nu tar vi det från början...
Jag ska alltså lägga ut
Response.write SQL
Response.End
var?
Vad får jag ut av det?
Du får ursäkta mig men jag kan inte så mycket, och frågar för att jag inte får till det själv.
Åter till
Response.write SQL
Response.End
Slängde in det i koden och la till where stamboks_nr is not null, felmeddelandet blir
Error Type:
ADODB.Recordset.1 (0x80004005)
SQLState: 4 Native Error Code: 1064 [TCX][MyODBC]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 'WHERE stamboks_nr is not null AND namn like '%' AN
/databas/connemara_hittat6.asp, line 30
Som jag skrev i den andra tråden som jag länkade till; precis ovanför eller istället för exekveringen av SQL-frågan (dvs precis före skapandet av recordsetet.)
Du kan lägga det precis när du är färdig med SQL-frågan. Denna kod är alltså enbart för att göra det lättare att felsöka. När SQL-frågan sedan fungerar så ska den inte vara där.
Vad får jag ut av det?
Du får se den färdiga SQL-frågan, den som databasen får skickad till sig. Det gör att det är mycket lättare att debugga/felsöka, när du slipper gissa variablers värden, etc.
Denna SQL-variabel i ASP:
SQL = "SELECT * FROM " & tabell & " WHERE något = '" & strNågot & "'"
Ser ut något sånt här när den kommer fram till databasen:
SELECT * FROM dittochdatttabellen WHERE något = 'inget'
. Det är denna skillnad man måste förstå, och det är den senare utskriften du får till webbläsaren, som hjälper dig att debugga.
Om den utskriften skulle råka se ut så här:
SELECT * FROM WHERE något = 'inget'
, ser du att "hoppsan, här finns inget tabellnamn mellan FROM och WHERE. Då är det bäst att felsöka varför asp-variabeln tabell inte innehåller något."
Slängde in det i koden
Var då? Inte före exekveringen i alla fall, för då skulle inte felmeddelandet ha kommit.
SELECT namn, hast_id, bild_url FROM hast WHERE kon = 'Sto' WHERE stamboks_nr is not null AND namn like '%' AND namn <> 'e' AND namn <> 'u' AND ras = 'Connemara' ORDER BY stamboks_nr
Står utskrivet på sidan nu, är det meningen?
@nders skrev:
Slängde in det i koden
Var då? Inte före exekveringen i alla fall, för då skulle inte felmeddelandet ha kommit.
Vad är det nu som inte stämmer? När jag bytt where mot and
Du kanske har kvar Response.write + Response.end i koden? Response.end gör ju så att ingen kod efter på sidan exekveras. Så ta bort de raderna (eller åtminstone response.end) och prova igen. Felmeddelande?
Vad är det nu som inte stämmer? När jag bytt where mot and
Du kanske har kvar Response.write + Response.end i koden? Response.end gör ju så att ingen kod efter på sidan exekveras. Så ta bort de raderna (eller åtminstone response.end) och prova igen. Felmeddelande?
Ojdå
Det blir inget felmeddelande, men den skriver inte ut några hästar alls