webForumDet fria alternativet

asp/sql

5 svar · 263 visningar · startad av lucifer

luciferMedlem sedan feb. 200218 inlägg
#1

Har allvarliga problem att hitta felet..om nån kan hjälpa mig ä ja ooootroligt tacksam!:

set dbconn = Server.CreateObject("ADODB.Connection")
dbconn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pic_db;Data Source=UBORG206"
Set RS = Server.CreateObject("ADODB.Recordset")

If Request.Form("sokord")<>"" Then
Tafram = "SELECT seek FROM image_tbl WHERE word LIKE '%"&Request.Querystring("sokord")&" ' "
Set RS=dbconn.Execute(Tafram)
RS.Open Tafram ,dbconn,3,2,1

If RS.EOF Then
Response.Write("Inget")
Else
Do until RS.EOF
text = RS("word")
findthis = Request.Form("sokord")
result = InStr(text,findthis)
RS.MoveNext
if result<>"0" then
x = 1
Response.Write(RS("seek"))
y = RS("seek")
%><SCRIPT>
parent.main1.disp('<%=y%>');
</SCRIPT><%
end if
RS.MoveNext
Loop
end if
End if

Felmezz (som blir konstant vid sökning):Objektet kunde inte hittas i mängden med det begärda namnet eller numret.

HJÄÄÄÄLP

svenMedlem sedan aug. 2001383 inlägg
#2

Hur får du värdet på

Request.Querystring("sokord")

Borde det inte vara

Request.Form("sokord")
LarsGMedlem sedan dec. 200012 464 inlägg
#3
Tafram = "SELECT seek,word FROM image_tbl WHERE word LIKE '%"&Request.Querystring("sokord")&"' "
luciferMedlem sedan feb. 200218 inlägg
#4

har provat båda av förslagen-får precis samma fel fortf *snyft*

@ndersMedlem sedan juni 200032 969 inlägg
#5

Vilken rad hänvisar felmeddelandet till?
Det antyder att du i asp-koden försöker använda ett fält som inte finns i recordsetet.

Använder du recordsetet utanför det kodavsnitt du postade?

LarsGMedlem sedan dec. 200012 464 inlägg
#6

På vilken rad får du fel?

Anledningen till att du får fel är att du anger ett fält i ett recordset som inte finns. Du försökte ju plocka upp rs("word") och rs("seek") och i så fall måste du ha med båda dessa i select-satsen. Jag ser också att du håller på och skapa rs flera gånger, det räcker med denna kod

set dbconn = Server.CreateObject("ADODB.Connection") 
dbconn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pic_db;Data Source=UBORG206" 

If Request.Form("sokord")<>"" Then 
Tafram = "SELECT seek FROM image_tbl WHERE word LIKE '%"&Request.Querystring("sokord")&"' " 
Set RS=dbconn.Execute(Tafram) 

If RS.EOF Then 
Response.Write("Inget") 
Else 
Do until RS.EOF 
     y = RS("seek") 
     Response.Write y 
%><SCRIPT> 
parent.main1.disp('<%=y%>'); 
</SCRIPT><% 
RS.MoveNext 
Loop
End if

Sen så förstår jag inte varför du håller på med instr för att se om det finns något. I och med att du har fått tillbaka en post så finns ju ditt sokord med i texten.
Sen så hade du en rs.movenext för mycket.

134 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)