suddenMedlem sedan okt. 2002341 inlägg Hej!
Jag har en databas med dessa poster:
namn, efteramn, tel, adress, post
Nu har jag två st formulär som heter namn och efternamn, så man söker bara på namnet eller efternamnet.
Men om det sedan stämde överens med någon post i databasen så vill jag visa alla uppgifter på just den personen.
Hur gör jag då? :q
Tacksam för svar :e
EitrazMedlem sedan sep. 2002366 inlägg hur långt har du kommit nu?
Lite kod tackar ;)
-Eitraz
suddenMedlem sedan okt. 2002341 inlägg Här är koden:
<!--include virtual="adovbs.inc"-->
<%
'öppna en anslutning till vår databas Acces
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\sok\databas.mdb"
'Läs in sökningen
Dim Fornamn, Efternamn
Fornamn = Request("namn")
Efternamn = Request("efternamn")
'skapa en variabel för SQL satsen
Dim strSQL
strSQL = "SELECT * FROM vanner WHERE namn = Fornamn AND efternamn = Efternamn ORDER BY namn DESC"
'skapa en instans av recordset
Dim RS
Set RS = Server.CreateObject("ADODB.Recordset")
RS.Open "strSQL", Connect
'visa alla som matchade med sökningen
Response.Write"<b>Sökningen är klar</b>" & "<br>" & "<br>"
Do While Not RS.EOF
Response.Write RS("namn") & " - " &_
FormatCurrency(RS("efternamn")) & "<br>"
RS.MoveNext
Loop
'städa undan
RS.Close
Set RS = Nothing
Connect.Close
Set Connect = Nothing
%>
EitrazMedlem sedan sep. 2002366 inlägg eftersom du har SELECT * så är det bara att skriva
<%=RS("tel")%> etc :)
-Eitraz
suddenMedlem sedan okt. 2002341 inlägg hmm...när jag kör scriptet får jag det här meddelandet:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Ogiltigt SQL-uttryck. 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' eller 'UPDATE' förväntades.
/sok/sok.asp, line 20
EitrazMedlem sedan sep. 2002366 inlägg du måste ha t ex:
WHERE namn = '" & Fornamn & "'"
-Eitraz
Du ska nog inte ha fnuttar runt StrSQL när du gör RS.Open
EitrazMedlem sedan sep. 2002366 inlägg och
Request("efternamn")
måste väll vara
Request.Form("efternamn")
?
-Eitraz
suddenMedlem sedan okt. 2002341 inlägg okej...kan inte du skriva SQL satsen så att den blir rätt? :r
suddenMedlem sedan okt. 2002341 inlägg bluäää det funkar inte =( =(
Får bara det här meddelandet:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Ogiltigt SQL-uttryck. 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT' eller 'UPDATE' förväntades.
/sok/sok.asp, line 20
solbulleMedlem sedan mars 20015 287 inlägg strSQL = "SELECT * FROM vanner WHERE namn = '" & Fornamn & "' AND efternamn = '" & Efternamn & "' ORDER BY namn DESC"
suddenMedlem sedan okt. 2002341 inlägg Tack så himla mycket =) =)
Du är en klippa :birp :birp :e :e
JosefMedlem sedan mars 20023 561 inlägg Det är ganska onödigt att inkludera adovbs.inc om man inte använder den...
@ndersMedlem sedan juni 200032 969 inlägg
Eitraz skrev:
och
Request("efternamn")
måste väll vara
Request.Form("efternamn")
?
Nej. Man kan av lathet utelämna .form / .querystring o.s.v., men det innebär att asp-motorn letar igenom alla collections för att hitta det du söker. Man bör alltså alltid ange vilken collection det är man vill ha information av.
Mvh,
mikulMedlem sedan aug. 20013 824 inlägg Jag har gjort i ordningen den lite åt dig nu :e
<%
'öppna en anslutning till vår databas Acces
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\inetpub\wwwroot\sok\databas.mdb"
'Läs in sökningen
Dim Fornamn, Efternamn
Fornamn = Request("namn")
Efternamn = Request("efternamn")
'skapa en variabel för SQL satsen
Dim strSQL
strSQL = "SELECT * FROM vanner WHERE namn = '"& Fornamn &"' AND efternamn = '"& Efternamn &"' ORDER BY namn DESC"
'skapa en instans av recordset
Dim RS
Set RS = Connect.Execute(strSQL)
'visa alla som matchade med sökningen
Response.Write"<b>Sökningen är klar.</b>" & "<br>" & "<br>"
While Not RS.EOF
Response.Write RS("namn") & " - " &_
FormatCurrency(RS("efternamn")) & "<br>"
RS.MoveNext
Wend
'städa undan
RS.Close : Set RS = Nothing
Connect.Close : Set Connect = Nothing
%>
/ Mikul