webForumDet fria alternativet

Sökvägsproblem 2

ASPur ASP

16 svar · 345 visningar · startad av costodia

costodiaMedlem sedan aug. 2000864 inlägg
#1

Iag ser min connectionsting ut såhär:

<%
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")

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

Visa = "SELECT Fraga FROM fraga"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

<b><% =RecSet("Fraga") %></b><br>

<% RecSet.Close
Connect.Close %>

nu säger webläsaren

ADODB.Recordset error '800a0bb9'

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

/nokiacity/main.asp, line 47

linje 47 är denna

RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
LarsGMedlem sedan dec. 200012 464 inlägg
#2
Set conn

RecSet.Open Visa, Connect

Var konsekvent. Använd conn eller connect genomgående.

costodiaMedlem sedan aug. 2000864 inlägg
#3

jag plockade bort

adOpenStatic, adLockOptimistic

från rad 47:
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

så att den ser ut såhär

RecSet.Open Visa, Connect %>

men servern svarar samma sak:

ADODB.Recordset error '800a0bb9'

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

/nokiacity/main.asp, line 47
@ndersMedlem sedan juni 200032 969 inlägg
#4

Ja, eftersom du anger fel namn på connectionobjektet. Var konsekvent, som LarsG skrev.

costodiaMedlem sedan aug. 2000864 inlägg
#5

nu förstår jag tyvärr inte riktgt, hur gör jag det konsekvent?

genom att skriva

Set conn

RecSet.Open Visa, conn

istället?

EclipseMedlem sedan juli 20003 825 inlägg
#6
Costodia, byt dessa:

Set [b]conn[/b]=Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")

Set [b]Connect[/b]=Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")

Det är inte slltid så lätt att veta vad som avses! Men just "set conn=..." kan man byta till "set laban=..." till exempel.

EclipseMedlem sedan juli 20003 825 inlägg
#7

Du kan inte skriva Conn på ena stället och Connect på andra. Vilket du använser är upp till dig, men du måste välja EN! :-)

@ndersMedlem sedan juni 200032 969 inlägg
#8

Att vara konsekvent innebär som Eclipse visar att ange samma ( rätt) namn på sitt connectionobjekt när man öppnar recordsetet, som när man skapar connectionobjektet. ;)

Mvh

costodiaMedlem sedan aug. 2000864 inlägg
#9

nu ser min kod ut såhär:

 <%
Set Connect=Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")

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

Visa = "SELECT Fraga FROM fraga"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

<b><% =RecSet("Fraga") %></b><br>

<% RecSet.Close
Connect.Close %>

så svarar servern:

 Microsoft VBScript runtime error '800a01a8' 

Object required: '' 

/nokiacity/ny_sida_1.asp, line 20

och rad 20 är denna

 conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")
@ndersMedlem sedan juni 200032 969 inlägg
#10

Vad sa vi om att bestämma dig för vilket namn du ska använda?

<%
Set [b]Connect[/b]=Server.CreateObject("ADODB.Connection")
[b]conn[/b].Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")

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

Visa = "SELECT Fraga FROM fraga"
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>

<b><% =RecSet("Fraga") %></b><br>

<% RecSet.Close
[b]Connect[/b].Close %>
EclipseMedlem sedan juli 20003 825 inlägg
#11

Bra @nders... jag var lite snabb där!

***
Tips: Skriv Conn i stället för Connection.

Motivering: Det är färre antal bokstäver och en förkortning som är branchstandard. INGEN missuppfattar den förkortningen.

Annars är jag lite motståndare till förkortningar eftersom de är just förkortningar och beroende på vem som läser dom kan de betyda olika saker...

Just denna går bra.

OveRRidEMedlem sedan feb. 200112 078 inlägg
#12

När vi ändå är inne på förkortningar, man skall alltid använda prefix framför sina variabelnamn, som t.ex. objConn.

costodiaMedlem sedan aug. 2000864 inlägg
#13

tack anders,
tyvärr får jag samma felmeddelande med din kod som jag fick innan

Microsoft VBScript runtime error '800a01a8'

Object required: ''

/nokiacity/ny_sida_1.asp, line 21

rad 21 är
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("\fpdb\nokiacity\snabbfraga.mdb")

@ndersMedlem sedan juni 200032 969 inlägg
#14

Jag har inte ändrat din kod, utan bara markerat lite så du ska se att du har angett "fel" namn.

costodiaMedlem sedan aug. 2000864 inlägg
#15

ja, fast då var det detta felmeddelandet som kom upp

ADODB.Recordset error '800a0bb9'

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

/nokiacity/ny_sida_1.asp, line 23

och det fick jag sen även när jag ändrade så att det var
RecSet.Open Visa, Conn, adOpenStatic, adLockOptimistic %>
på ra 23 istället för
RecSet.Open Visa, Connect, adOpenStatic, adLockOptimistic %>
som det var innan.

@ndersMedlem sedan juni 200032 969 inlägg
#16

Har du definierat adOpenStatic och adLockOptimistic då?

costodiaMedlem sedan aug. 2000864 inlägg
#17

wow, atck

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