LorelieMedlem sedan juni 2005264 inlägg http://www.aramennoc.se/databas/aramennocindex.html (klicka på databas, väl svenska i nummerordning, välj sto och klicka på sök)
Jag vill inte ha med de två första, utan bara dem med RC och ett nummer. Hur gör jag det i SQL-satsen?
SQL-satsen
Raderna i tabellen heter (värdet)
ras ( connemara)
stamboks_nr (nummret, dock inte ifyllt på SCR-hästarna)
jag vill alltså att den bara ska skriva ut rader där stamboks_nr är ifyllt. Alla är av rasen connemara
LarsGMedlem sedan dec. 200012 464 inlägg ...
where stamboks_nr is not null
...
Flyttas från ASP
@ndersMedlem sedan juni 200032 969 inlägg På vilket sätt? Felmeddelande? Är fältet NULL eller innehåller det en tom sträng?
@ndersMedlem sedan juni 200032 969 inlägg Skriv ut den färdiga SQL-frågan och posta här.
LorelieMedlem sedan juni 2005264 inlägg
@nders skrev:
Skriv ut den färdiga SQL-frågan och posta här.
Vad är färdig SQL-fråga? :OO :r
@ndersMedlem sedan juni 200032 969 inlägg Så som den ser ut när asp-tolken har processerat strängen som innehåller frågan.
Bäst att länka till en annan av dina trådar: http://www.webforum.nu/showthread.php?p=1183325#post1183325
LorelieMedlem sedan juni 2005264 inlägg :r
QUOTE=@nders]Så som den ser ut när asp-tolken har processerat strängen som innehåller frågan.
Bäst att länka till en annan av dina trådar: http://www.webforum.nu/showthread.php?p=1183325#post1183325
Hrm... har ingen response.write, så här kommer hela sidan :OO
SQL = "SELECT namn, " & _
" hast_id, " & _
" bild_url " & _
" FROM hast " & _
" WHERE kon = '"& Request.Form("kon")&"' " & _
" AND namn like '" & Request.Form("hast")&"%'" & _
" AND namn <> 'e' " & _
" AND namn <> 'u' " & _
" AND ras = 'Connemara' " & _
" ORDER BY stamboks_nr "
rs.Open SQL, MinCon
%>
<SPAN CLASS="normal">
<STRONG>
Hittade hästar:
</STRONG>
<BR>
<BR>
<p align="right">
<%
Do While Not rs.EOF
%>
<%
IF (rs("bild_url"))<>"" THEN %><img src="arrow.gif" alt="Bild finns" border=0>
<%
END IF %>
<A HREF = hast.asp?hast_id=<%=rs("hast_id")%>><%=rs("namn")%></A>
<BR>
<%
rs.MoveNext
Loop
%>
</p></SPAN>
@ndersMedlem sedan juni 200032 969 inlägg
Hrm... har ingen response.write
Då får du lägga till det.
LorelieMedlem sedan juni 2005264 inlägg
@nders skrev:
Hrm... har ingen response.write
Då får du lägga till det.
Får man fråga varför? Det fungerar ju ändå :q
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.
@ndersMedlem sedan juni 200032 969 inlägg 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.
LorelieMedlem sedan juni 2005264 inlägg
@nders skrev:
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
@ndersMedlem sedan juni 200032 969 inlägg
var?
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.
LorelieMedlem sedan juni 2005264 inlägg
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.
under den gamla where i sql-satsen
@ndersMedlem sedan juni 200032 969 inlägg
Lorelie skrev:
Står utskrivet på sidan nu, är det meningen?
Det är precis det som är meningen! :)
Nu ser vi vad databasmotorn ser, och då är det lättare för oss att förstå vad som ger felmeddelandet.
Som du kan se nu, så har du två stycken WHERE i din SQL-fråga. Du skall ha ett. Byt det andra mot AND.
LorelieMedlem sedan juni 2005264 inlägg
@nders skrev:
Det är precis det som är meningen! :)
Nu ser vi vad databasmotorn ser, och då är det lättare för oss att förstå vad som ger felmeddelandet.
Som du kan se nu, så har du två stycken WHERE i din SQL-fråga. Du skall ha ett. Byt det andra mot AND.
Får försöka komma ihåg det till nästa gång :birp
Vad är det nu som inte stämmer? När jag bytt where mot and
@ndersMedlem sedan juni 200032 969 inlägg
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?
LorelieMedlem sedan juni 2005264 inlägg
@nders skrev:
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å :OO
Det blir inget felmeddelande, men den skriver inte ut några hästar alls
@ndersMedlem sedan juni 200032 969 inlägg Och du har inte Response.End kvar i koden?