suddenMedlem sedan okt. 2002366 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. 2002385 inlägg
hur långt har du kommit nu?
Lite kod tackar ;)
-Eitraz
suddenMedlem sedan okt. 2002366 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. 2002385 inlägg
eftersom du har SELECT * så är det bara att skriva
<%=RS("tel")%> etc :)
-Eitraz
suddenMedlem sedan okt. 2002366 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. 2002385 inlägg
du måste ha t ex:
WHERE namn = '" & Fornamn & "'"
-Eitraz
agneta_rungMedlem sedan juli 2002138 inlägg
Du ska nog inte ha fnuttar runt StrSQL när du gör RS.Open
EitrazMedlem sedan sep. 2002385 inlägg
och
Request("efternamn")
måste väll vara
Request.Form("efternamn")
?
-Eitraz
suddenMedlem sedan okt. 2002366 inlägg
okej...kan inte du skriva SQL satsen så att den blir rätt? :r
suddenMedlem sedan okt. 2002366 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 20014 998 inlägg
strSQL = "SELECT * FROM vanner WHERE namn = '" & Fornamn & "' AND efternamn = '" & Efternamn & "' ORDER BY namn DESC"
suddenMedlem sedan okt. 2002366 inlägg
Tack så himla mycket =) =)
Du är en klippa :birp :birp :e :e
JosefMedlem sedan mars 20023 123 inlägg
Det är ganska onödigt att inkludera adovbs.inc om man inte använder den...
@ndersMedlem sedan juni 200026 914 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. 2001810 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