webForumDet fria alternativet

Hämta värden

ASP

8 svar · 315 visningar · startad av webbmannen

Medlem sedan dec. 1999826 inlägg
Frågan#1

Gammal grej som jag inte får att fungera.

Sidan med den här koden visar snällt upp alla företag som finns i databasen:

<form action="edit.asp" method="post">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"
SQL = "SELECT (company) AS ftg FROM retailer"
rs.Open SQL, Connect
%>
<select name="F&Ouml;retag" size="7" multiple>
<%
Do While Not rs.EOF
%>
<option value="<%=rs("ftg")%>" name="ftg"><%=rs("ftg")%>
<%
rs.MoveNext
Loop
%>
</select>
<input type="submit" value="H&auml;mta f&ouml;retagets uppgifter">
</form>

När jag sedan klickar på knappen så är det meningen att jag ska komma till edit.asp med det valda företagets uppgifter ifyllda. Jag möts då av felmeddelandet:

Microsoft VBScript runtime error '800a01a8'
Object required: ''
/pages/register/edit.asp, line 46

Sidan edit.asp ser i sina väsentliga delar ut så här:

<form action="execute.asp" method="post">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"

SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
Set rs = Connection.Execute(SQL)
%>
<input type="hidden" value="<%=rs("ID")%>" name="ID">
<input type="text" name="company" value="<%=rs("company")%>"
<select name="country">
<option value="<%=rs("country")%>" selected><%=rs("country")%>
<option value="Sverige" >Sverige
<option value="Norge">Norge
<option value="Danmark">Danmark
<option value="Finland">Finland
</select>
<select name="region">
<option value="<%=rs("region")%>" selected><%=rs("region")%>
<option value="Landet" >Landet
<option value="Syd">Syd
<option value="Mitt">Mitt
<option value="Nord">Nord
</select>
<input type="text" name="visit_address" value="<%=rs("visit_address")%>">
<input type="text" name="post_number" value="<%=rs("post_number")%>">
<input type="text" name="post_address" value="<%=rs("post_address")%>">
<input type="text" name="telephone" value="<%=rs("telephone")%>">
<input type="text" name="fax" value="<%=rs("fax")%>">
<input type="text" name="epost" value="<%=rs("epost")%>">
<input type="text" name="url" value="<%=rs("url")%>">
<input type="submit" value="Redigera denna &aring;terf&ouml;rs&auml;ljare">
</form>

Vad är det som felar? Det känns som att Request("ftg") inte gör det jag hoppats.

/webb

------------------
Vem ska du göra glad imorgon?

Medlem sedan dec. 19998 577 inlägg
#2

Du använder ett obefintligt objekt (Connection), använd Connect:

Set rs = Connect.Execute(SQL)

[r]Varför skapar du ett recoredset?[/r]

------------------
webEye.nu SweQuake.com

[Redigerat av Vide den 14 mar 2001]

Medlem sedan juni 200032 967 inlägg
#3

sedan skapar du recordsetet två gånger.

<%
Set Connect = Server.CreateObject("ADODB.Connection")
[b]Set rs = Server.CreateObject("ADODB.Recordset")[/b]
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"
SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
[b]Set rs = Connection.Execute(SQL)[/b]
%>

jag föreslår att du skippar den första av de två. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
respect my authoritaah!</A>

Medlem sedan dec. 1999826 inlägg
#4

Vådan av att klippa och klistra gjorde att det blev onödigt mycket fel :h

Fortfarande fungerar det dock inte. Jag har justerat till:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"

SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
Set rs = Connect.Execute(SQL)
%>

<input type="text" name="company" value="<%=rs("company")%>">

plus fortsättningen....

Vide,
Jag trodde jag behövde ett Recordset för att plocka ut uppgifterna med tex rs("company") - fel eller?

Nu har jag ett felmeddelande som ser ut så här:

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

Är det så att jag inte lyckas få med mig företagsnamnet från föregående sida eller?

/webb

------------------
Vem ska du göra glad imorgon?

Medlem sedan dec. 19998 577 inlägg
#5

rs skapas iom att du exekverar din SQL-sträng... :)

Felmeddelandet säger att det inte finns några poster att hämta ur rs...

Du kan göra en ifsats:

If NOT rs.EOF then
'det finns poster
Else
'det finns inga poster
End if

------------------
webEye.nu SweQuake.com

Medlem sedan dec. 1999826 inlägg
#6

Ok, då fattar jag detta med rs (hoppas jag) :)

Men varför säger den att det inte finns någon post att hämta ur? Det företag jag väljer på föregående sida existerar ju, annars hade jag inte fått upp det redan där??

/webb

------------------
Vem ska du göra glad imorgon?

Medlem sedan juni 200032 967 inlägg
#7

ok, din selectbox som jag antar att du vill hämta ifrån (varför är den multiple, förresten?) heter FÖretag, men när du skapar din sql-fråga hämtar du in ftg med request. jag föreslår att du byter namn på din selectbox till ftg, så ska det nog lösa sig. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
respect my authoritaah!</A>

[Redigerat av @nders den 14 mar 2001]

Medlem sedan dec. 1999826 inlägg
#8

@nders,
Ditt skarpa öga var säkert en av förklaringarna till att jag nu fått det till att fungera :) En annan var att ändra till följande

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=sökvägen"

SQL = "SELECT * FROM retailer WHERE company ='" & Request("ftg") & "'"
rs.Open SQL, Connect
%>

Nu é man go och glad en stund igen :)
Tack för hjälpen !

/webb

------------------
Vem ska du göra glad imorgon?

[Redigerat av webbmannen den 14 mar 2001]

Medlem sedan juni 200032 967 inlägg
#9

varsågod!

bara så du vet kan du ändra tebaks igen om du vill, för det gör ingen som helst skillnad. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
respect my authoritaah!</A>

269 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)