select efter søgning
Hej E(IIS 5.0 / Access / ASP / IE)
Jeg er ved at lave en SELECT string fra en søgning der skal hente et db'ustræk.
jeg har sat udtrækket til at ske via variablen hent. Det er som det skal være...
Set rs = Conn.Execute(hent)
ifm med en søgning indtastes fx 005 i søgefeltet, der sender strSQL til siden der viser resultatet, men det driller. Jeg har prøvet med at sende strSQL således fra søgesiden:
Response.Redirect("default.asp?mode=sogstatus&hentsog='"&strSQL&"'")
men strSQL godtages ikke.
Fejlen lyder ved Conn.Execute:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en ugyldig SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE" var ventet.
Hvis jeg skriver strSQL ud inden redirect på søgesiden, ser den således ud:
SELECT * FROM fly_status WHERE (MOC_stelnr LIKE '%005%') OR (MOC_enhed LIKE '%005%') OR (MOC_status LIKE '%005%') OR (MOC_sortering LIKE '%005%') OR (MOC_blocknr LIKE '%005%') OR (MOC_MLU LIKE '%005%') OR (MOC_minutter LIKE '%005%') OR (MOC_SI_min LIKE '%005%') OR (S_lokation LIKE '%005%') OR (S_plan_dato LIKE '%005%') OR (S_ind_dato LIKE '%005%') OR (S_ud_dato LIKE '%005%') OR (S_bem LIKE '%005%') OR (S_FCF LIKE '%005%') OR (S_V_NT_Egress LIKE '%005%') OR (S_V_NT_Vaaben LIKE '%005%') OR (S_V_NT_Dinghy LIKE '%005%') OR (S_V_NT_stel LIKE '%005%') OR (S_V_NT_bem LIKE '%005%') ORDER BY MOC_stelnr
Er der noget galt med den?
Så har jeg prøvet med at replace på søgesiden:
strSQL = replace(strSQL, "%", "^")
strSQL = replace(strSQL, "'", "~")
Response.Redirect("default.asp?mode=sogstatus&hentsog='"&strSQL&"'")
og så på den side der skal vise udtrækket:
hent = Request.QueryString("hentsog")
hent = replace(hent, "^", "%")
hent = replace(hent, "~", "'")
Set rs = Conn.Execute(hent)
men det giver samme fejl ved Conn.Execute:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en ugyldig SQL-sætning. "DELETE", "INSERT", "PROCEDURE","SELECT" eller "UPDATE" var ventet.
Så har jeg prøvet at copy/past strSQL og indsat det som en variabel på siden der viser søgeresultatet, således:
hent = "SELECT * FROM fly_status WHERE (MOC_stelnr LIKE '%005%') OR (MOC_enhed LIKE '%005%') OR (MOC_status LIKE '%005%') OR (MOC_sortering LIKE '%005%') OR (MOC_blocknr LIKE '%005%') OR (MOC_MLU LIKE '%005%') OR (MOC_minutter LIKE '%005%') OR (MOC_SI_min LIKE '%005%') OR (S_lokation LIKE '%005%') OR (S_plan_dato LIKE '%005%') OR (S_ind_dato LIKE '%005%') OR (S_ud_dato LIKE '%005%') OR (S_bem LIKE '%005%') OR (S_FCF LIKE '%005%') OR (S_V_NT_Egress LIKE '%005%') OR (S_V_NT_Vaaben LIKE '%005%') OR (S_V_NT_Dinghy LIKE '%005%') OR (S_V_NT_stel LIKE '%005%') OR (S_V_NT_bem LIKE '%005%') ORDER BY MOC_stelnr "
Set rs = Conn.Execute(hent)
Og det virker perfekt, jeg får det søgeresultat jeg havde ventet...
Hvordan får jeg sendt strSQL fra søge-siden via en Response.redirect til visudtrækket-siden?
/Skjoldp
