webForumDet fria alternativet

Fel med sök kod.........

ASP

17 svar · 279 visningar · startad av Firegamez.com

Medlem sedan juli 2002231 inlägg
Frågan#1

Tjenare! Jag vill ha en snabbsök genom datasen! Så här ser felet ut:

ADODB.Recordset error '800a0bb9' 

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. 

/snabb_resultat.asp, line 39

Här e koden! Ni får tycka att den e knasig mm!Ni får om ni vill Ändra den så den fungerar bra!

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")

val = Request.Form("val") ' Hämtar valet från formuläret
If val = "namn" Then
SQL = "Select * From users Where firstnamn Like '%%" & Request.Form("namn") & "%%'"
ElseIf val = "username" Then
SQL = "Select * From users Where username Like '%%" & Request.Form("username") & "%%'"
ElseIf val = "epost" Then
SQL = "Select * From users Where email Like '%%" & Request.Form("epost") & "%%'"
ElseIf val = "alla" Then
SQL = "Select * From users"
end if
sortera = Request.Form("sortera") ' Hämtar hur vi vill sortera resultatet 
If sortera = "bokstavs" Then
SQL = SQL & " Order By username"
End If

Rs.Open Connect, adOpenStatic, adLockOptimistic
%>

Sen för att skriva ut det längre ner är det bara <%=Rs("poang")%> åsså vidare!

Medlem sedan feb. 20022 594 inlägg
#2

Är det inte bättre att fråga efter hjälp istället för att kräva den?

Aja. Varför använder du dubbla %?

En Select Case-sats skulle nog passa bättre där också

Medlem sedan dec. 200012 464 inlägg
#3

Du öppnar aldrig ditt connection-object (connect)

Medlem sedan juli 2002231 inlägg
#4

Ekström skrev:

Är det inte bättre att fråga efter hjälp istället för att kräva den?

Aja. Varför använder du dubbla %?

En Select Case-sats skulle nog passa bättre där också

ojsan förlåt jag var stressad när jag skrev den...... Hade problem med Gb:n också...... ber om förlåtelse...... :(

Medlem sedan juli 2002231 inlägg
#5

Bara en fråga.... Hur e det bästa sättet att skriva det på???

Medlem sedan mars 20023 561 inlägg
#6

Som Ekström sa: Använd en Select Case-sats.

Medlem sedan juli 2002231 inlägg
#7

Men hur skriver jag då???? Jag vet inte!

Medlem sedan feb. 20022 594 inlägg
#8
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")

Connect.Open "Här borde det ligga något. Som LarsG påpekade"

val = Request.Form("val") ' Hämtar valet från formuläret
Select Case val
Case "namn"
SQL = "Select * From users Where firstnamn Like '%" & Request.Form("namn") & "%'"
Case "username"
SQL = "Select * From users Where username Like '%" & Request.Form("username") & "%'"
Case "epost"
SQL = "Select * From users Where email Like '%" & Request.Form("epost") & "%'"
Case "alla"
SQL = "Select * From users"
End Select
sortera = Request.Form("sortera") ' Hämtar hur vi vill sortera resultatet 
If sortera = "bokstavs" Then
SQL = SQL & " Order By username"
End If

Rs.Open Connect, 3, 3
%>
Medlem sedan juli 2002231 inlägg
#9

neppz samma fel...

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

/snabb_resultat.asp, line 24
Medlem sedan feb. 20022 594 inlägg
#10

Du lade till en Connect.Open?

Medlem sedan juli 2002231 inlägg
#11

Jag tod in kod rakt upp o ner o la in i min asp kod! Skulle jag inte göra de?!?!?

Medlem sedan feb. 20022 594 inlägg
#12

Jo, det går väl, men du måste ha typ

Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("databas.mdb")

med där också...

Medlem sedan juli 2002231 inlägg
#13

Men det ligger i filen conn.asp som jag har includerat en bit upp i koden! Jag har alltid den i alla filer....

Medlem sedan feb. 20022 594 inlägg
#14

Varför ligger då

Set Connect = Server.CreateObject("ADODB.Connection")

med i koden?

Medlem sedan juli 2002231 inlägg
#15

Sä här ser det ut nu!

<%
Option Explicit
Dim sql, username, namn, epost, rs, se, val, sortera, connect, adOpenStatic, adLockOptimistic, rsUser, x, RecSet

username = Request.Cookies("username")

if username = "" then
  Response.Redirect("nologin.asp?page=snabb.asp")
end if

%>

<%
se=request("se")
if se="" then
	se=username
end if
%>
<!--#include file="conn.asp"-->
<%

Set Rs = Server.CreateObject("ADODB.Recordset")

val = Request.Form("val") ' Hämtar valet från formuläret
Select Case val
Case "namn"
SQL = "Select * From users Where firstnamn Like '%" & Request.Form("namn") & "%'"
Case "username"
SQL = "Select * From users Where username Like '%" & Request.Form("username") & "%'"
Case "epost"
SQL = "Select * From users Where email Like '%" & Request.Form("epost") & "%'"
Case "alla"
SQL = "Select * From users"
End Select
sortera = Request.Form("sortera") ' Hämtar hur vi vill sortera resultatet 
If sortera = "bokstavs" Then
SQL = SQL & " Order By username"
End If

Rs.Open SQL, Conn, adOpenStatic, adLockOptimistic
%>

Men nu får jag samma fel men på rad 42 den sista ovanför %>!

Medlem sedan feb. 20022 594 inlägg
#16

Hur ser conn.asp ut då?

Medlem sedan juli 2002231 inlägg
#17
<%
Dim ConnectString, conn

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/siteinabox.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
Medlem sedan juli 2002231 inlägg
#18

Är det ingen som kan en annan kod???? Så man kan söka efter användarnamnet i databsen!

267 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)