webForumDet fria alternativet

Asp Säk del2

ASP

1 svar · 149 visningar · startad av Lazerzubb

Medlem sedan mars 2000542 inlägg
Frågan#1

Jag har några Premiärnycklar i min access databas.
Här är dom
Land,Stad,Telefon,Gata,Gata1,Tele1 och några till.
Jag har ett sök fält
vad ska jag ha för namn på det.
om jag vill att man ska få se alla nycklar om man har skrivit
in något som matchar Land eller Stad.
lägg till sakerna på denna kod.
<!-- #include virtual="/databas/sok/adovbs.inc" -->
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=d:\inetpub\wwwroot\databas\sok\sok.mdb"
If Request.Form("Land") <> "" Then
SQL = "SELECT * From sok WHERE Land LIKE '" & Request.Form("Land")& "%'"
set rs=Connect.Execute(SQL)

if not rs.eof then
do until rs.eof
%>Hittade staden <a href="<%=rs("Stad")%>.html"><%=rs("Stad")%></a><BR>
<%rs.movenext
loop
Sedan vill jag att man skriver ut nyckeln säng som en bild om den existerar var gör jag detta i access eller i
asp

------------------
Lazerzubb

Medlem sedan dec. 19996 721 inlägg
#2

[ordmärkning]
Primärnycklar, inte Premiärnycklar
[/ordmärkning]

För det första måste du nog lära dig vad en primärnyckel är.

En primärnyckel är en kolumn i en tabell vars värde i varje rad är unikt, dvs. att om man söker efter ett värde i en kolumn som är definierd som primärnyckel, skall endast en rad returneras. Man kan definiera flera primärnycklar i en tabell, som tillsammans ger ett unikt värde, och då kallas det sammansatt nyckel.

Därför kan jag inte tro att du har "Land,Stad,Telefon,Gata,Gata1,Tele1 och några till" som primärnycklar i din databas, såvida inte dessa ligger i egna tabeller.

Om man t.ex. har en tabell med adresser i, kan det tänkas att man till en början har kolumnerna

Förnamn
Efternamn
Land
Stad
Gatuadress
Postnunmmer
Telefon

För att kunna definiera en primärnyckel i denna tabell måste man garantera att samma värde inte kan dyka upp på flera rader. Det blir svårt att åstadkomma med dessa kolumner, så därför är det vanligt att man lägger till en kolumn med en räknare, ofta kallad ID.

Jag antar att det du vill är att lista ut flera kolumner, i de rader som matchar Land eller Stad.

Vad du kallar sökfältet i formuläret har ingen som helst betydelse. Det finns ingen sådan koppling. Skillnaden ligger i hur du frågar databasen, och hur du listar ut svaret.

Låt oss säga att du har ett fält i formuläret, som heter "search".


mSearch=request("search")
'Lägger värdet från sökfältet i variablen mSearch

SQL = "SELECT * From sok WHERE Land LIKE '%" & mSearch & "%' OR Stad LIKE '%" & mSearch & "%'"

'skapar SQL-satsen som ska skickas till databasmotorn

set rs=Connect.Execute(SQL)

'sökningen exekveras. Dags att lista träffarna

if not rs.eof then
   do until rs.eof
%>

Stad: <a href="<%=rs("Stad")%>.html"><%=rs("Stad")%></a><BR>
Land: <%=rs("Land")%><BR>
Gata: <%=rs("Gata")%><BR>
Gata1: <%=rs("Gata1")%><BR>
osv...

<%rs.movenext
loop

[Redigerat av emission den 07 jun 2000]

782 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
650 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)