Avatar billede darkhero Nybegynder
05. april 2001 - 21:50 Der er 12 kommentarer og
2 løsninger

H E L P ! !

jeg har en kode der hvis man skriver: filnavn.asp?id=1 så viser den info for opst 1.... det ville jeg også gerne lave bare med et navn istedet for ID... hvordan gør jeg det? jeg har en kode der ser sådan ud.. men den virker ikke:


<%
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"script.mdb\")
If Request.QueryString(\"name\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM users WHERE (name = \" & Request.QueryString(\"name\") & \")\"
    rs.Open strSQL, myConn, 1, 3
    if rs.EOF then
Response.write \"<font face=\"\"Arial\"\" size=\"\"2\"\">Der er ingen indlæg i databasen, men skynd dig og skriv et som den første ;-)</font>\"
else
%>

<div align=\"center\">
<center>
<table border=\"0\" width=\"100%\" height=\"100%\" cellspacing=\"0\" cellpadding=\"0\">
<tr>
<td width=\"50%\" height=\"1%\" bgcolor=\"#FF0000\"><b><%=RS(\"name\")%></b></td>
</tr>
</table>
</div>
<br><br>

<% end if %>
<%
        rs.Update
        rs.Close
        myConn.Close
        Set rs = Nothing
        Set myConn = Nothing
        end if
%>

Hvorfor virker den ikke?
Avatar billede netsrac Praktikant
05. april 2001 - 21:52 #1
strSQL = \"SELECT * FROM users WHERE (name = \'\" & Request.QueryString(\"name\") & \"\')\"
Avatar billede stigc Nybegynder
05. april 2001 - 21:52 #2
strSQL = \"SELECT * FROM users WHERE name = \'\" & Request.QueryString(\"name\") & \"\'\"
   
Avatar billede darkhero Nybegynder
05. april 2001 - 21:55 #3
hvad er der galt med den?
Avatar billede netsrac Praktikant
05. april 2001 - 21:58 #4
Du skal bruge den jeg skrev istedet for din. Der er indsat nogle \' tegn
Avatar billede darkhero Nybegynder
05. april 2001 - 22:05 #5
den virker stadig ikke.. den siger \"HTTP 500 internal server error\"
Avatar billede netsrac Praktikant
05. april 2001 - 22:09 #6
I din browser:

Funktioner -> Indstillinger -> Avanceret -> Fjern kryds i vis uskadelige http fejl.

Hvilken fejl medd. får du så ?
Avatar billede darkhero Nybegynder
05. april 2001 - 22:13 #7
Avatar billede netsrac Praktikant
05. april 2001 - 22:15 #8
Prøv lige med denne:

strSQL = \"SELECT * FROM users WHERE name = \'\" & Request.QueryString(\"name\") & \"\'\"
Avatar billede darkhero Nybegynder
05. april 2001 - 22:21 #9
nu virker det sq....
Avatar billede darkhero Nybegynder
05. april 2001 - 22:24 #10
HVordan laver man sådan at hvis der ikke findes nogen med det intastede navn skriver den:

Der fantes ikke nogen med det intastede navn! ?
Avatar billede madrich Nybegynder
05. april 2001 - 22:31 #11
Set myConn = Server.CreateObject(\"ADODB.Connection\")
myConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath(\"script.mdb\")
If Request.QueryString(\"name\") <> \"\" Then
    Set rs = Server.CreateObject(\"ADODB.RecordSet\")
    strSQL = \"SELECT * FROM users WHERE (name = \" & Request.QueryString(\"name\") & \")\"
    rs.Open strSQL, myConn, 1, 3
    if rs.EOF then
Response.write \"<font face=\"\"Arial\"\" size=\"\"2\"\">Der fandtes ikke nogen med det indtastede Navn!</font>\"
end if
end if
%>

Avatar billede madrich Nybegynder
05. april 2001 - 22:34 #12
Det der sker er at hvis der i basen ikke er en post der der er lig med \"DET_INDTASTEDE_NAVN\" så er rs.EOF ( END OF FILE ) og det betyder at der så ikke har været et match (I det tilfælde at der er blevet indtastet et navn!

og slq statementet skulle så lige rettes til

strSQL = \"SELECT * FROM users WHERE name = \'\" & Request.QueryString(\"name\") & \"\'\"
Avatar billede darkhero Nybegynder
06. april 2001 - 07:24 #13
virker det ikke kun hvis hele \"name\" kollonnen er tom?
Avatar billede madrich Nybegynder
06. april 2001 - 16:27 #14
Nej jeg mener at den vil komme med rs.Eof (hvis der ikke er nogen poster i tabellen der matcher det!) og en værdi = null, derfor kan man ikke lave f.eks. et tjek på længden af strengen
if len(rs._whatever_) = 0  then
(men hæng mig ikke op på det :))
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester