Hello,
har tagits upp förut på denna url:
http://cgi.webforum.nu/wf/Forum11/HTML/000267.html
//PatrikB
[Redigerat av PatrikB den 04 jun 2000]
12 svar · 175 visningar · startad av Lazerzubb
Jag skulle behöva söka igenom en mdb(access) fil.
om ordet som jag söker finns någonstans i filen
så vill ja att den raden ska vissas.
------------------
Lazerzubb
Hello,
har tagits upp förut på denna url:
http://cgi.webforum.nu/wf/Forum11/HTML/000267.html
//PatrikB
[Redigerat av PatrikB den 04 jun 2000]
såå här är min kod fungerar ej
//<html>
<!-- #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") = "Land" Then
SQL = "SELECT * From sok WHERE Land LIKE '" & Request.Form("Land")& "%'"
End If
SQL, Connect, MinCon
%>
<li><% =RecSet("Land") %>
</html>//
------------------
Lazerzubb
Nu hänger jag inte riktigt med på vad du vill göra, men...
Det som händer i ditt skript är:
om formulärfältet "land" innehåller ordet "land" så skapas en SQL-sats "SQL"
sedan händer inte mycket mer, förutom att det blir fel på raden under
Kanske vill du ha det så här:
<% 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 RecSet=Connect.execute(SQL)
do until RecSet.eof
%><li><%=RecSet("Land")%><%
RecSet.movenext
loop
else
%>Du angav inget land<%
End If
%>
Jag har en databas som heter sok.
Där finns 2 rader.
land Stad
Usa New York
Sverige Lund
Och så vidare.
om man skriver in typ usa så
kommer då new york upp.
<form method="post" action="sok.asp?Land=?">
Land:<input name="Land" size="22"><br>
Stad:<input namn="Stad size="24"><br>
<input type="submit" value="Sök">
</form>
Hur ska jag sedan skriva för att den ska skriva ut och hitta new yotk i databasen.
------------------
Lazerzubb
<form method="post" action="sok.asp?Land=?">
onödigt/fel att lägga med ?Land=? i slutet. Dels kommer värdet från formuläret, dels är ? inte tillåtet i querystring:en.
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 <%=rs("Stad")%><BR>
<%rs.movenext
loop
else
%>Hittade ingen stad i det landet<%
end if
rs.close
est rs=Nothing
Connect.close
set connect=nothing
[Redigerat av emission den 06 jun 2000]
Detta kommer fram
Error Type:
Active Server Pages, ASP 0116 (0x80004005)
The Script block lacks the close of script tag (%> ).
/databas/sok/sok1.asp, line 16
Browser Type:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Page:
POST 5 bytes to /databas/sok/sok1.asp
POST Data:
Land=
<html>
<!-- #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 <%=rs("Stad")%><BR>
<%rs.movenext
loop
else
%>Hittade ingen stad i det landet<%
end if
rs.close
est rs=Nothing
Connect.close
set connect=nothing
</html>
------------------
Lazerzubb
Läs felmeddelandet.
obs! ett litet feltryck där det står "est" i stället för "set"
[Redigerat av emission den 06 jun 2000]
kommer samma fel
Error Type:
Active Server Pages, ASP 0116 (0x80004005)
The Script block lacks the close of script tag (%> ).
/databas/sok/sok1.asp, line 16
Browser Type:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Page:
POST 8 bytes to /databas/sok/sok1.asp
POST Data:
Land=Usa
------------------
Lazerzubb
Testa att byta ut:
Connect.close
set connect=nothing
</html>
mot:
Connect.close
set connect=nothing
%>
</html>
Den letar ju nämligen efter en avslutning som aldrig kommer.
Andreas
SÅ här ser all kod ut totalt
<html>
<body>
<form method="post" action="sok1.asp">
Land:<input name="Land" size="22"><br>
Stad:<input namn="Stad size="24"><br>
<input type="submit" value="Sök">
</form>
</body>
</html>
Sen sok1.asp
<html>
<!-- #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 <%=rs("Stad")%><BR>
<%rs.movenext
loop
else
%>Hittade ingen stad i det landet<%
end if
rs.close
set rs=Nothing
Connect.close
set connect=nothing
%>
</html>
felmeledande kommer
Error Type:
Microsoft VBScript compilation (0x800A03F6)
Expected 'End'
/databas/sok/sok1.asp, line 22
Browser Type:
Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Page:
POST 8 bytes to /databas/sok/sok1.asp
POST Data:
Land=Usa
------------------
Lazerzubb
Du måste LÄSA feltexten!
'End expected' betyder just det, att du inte avslutat ett programblock med END.
Lägg in ett 'end if' efter loop'en:
....
if not rs.eof then
do until rs.eof
%>Hittade staden <%=rs("Stad")%><BR>
<%rs.movenext
loop
end if
------------------
Älskar detta forumet det rular så jävla fett och tänk att jag har träffat
han som startade det.
------------------
Lazerzubb