webForumDet fria alternativet

Objekt krävs.: 'ActiveConnection'

14 svar · 363 visningar · startad av Karin_Parin

Karin_ParinMedlem sedan okt. 200332 inlägg
#1

Hej!
Nu har jag suttit i många timmar och kan inte komma fram till vad jag har gjort för tokigt.
Felmeddelandet jag får är att ActiveConnection Objekt krävs, men vilket objekt är det som krävs?

Koden ser ut som följer.. har inkluderat en databasanslut fil
Syftet är att jag vill få ut hur många som har varit inne på sidan den senaste timmen genom att hämta värden från SQLdb.

<%
Dim StartTime
Dim objCommand
Dim objRS
Dim objConnect

StartTime = now
Set objCommand = Server.CreateObject("ADODB.Command")
Set objCommand.ActiveConnection = objConnect
objCommand.CommandType = adCmdText

Set objRS= Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objCommand
Set objRS.Source = objCommand

...%>

Tack så länge!

//Karin :)

SebbeMedlem sedan jan. 20032 285 inlägg
#2

Skippa "set". :)

objCommand.ActiveConnection = objConnect

Välkommen till wF! :D

Karin_ParinMedlem sedan okt. 200332 inlägg
#3

Tack men då får jag följande felmeddelande

Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.

SebbeMedlem sedan jan. 20032 285 inlägg
#4

Hur ser objConnect ut?

@ndersMedlem sedan juni 200032 969 inlägg
#5

Det verkar som att connectionobjektet objConnect inte är skapat än.

Välkommen hit också! :)

Mvh

Engine^Medlem sedan dec. 20003 887 inlägg
#6
StartTime = now 
Set objCommand = Server.CreateObject("ADODB.Command") 
[red]Set objConnect = Server.CreateObject("ADODB.Connection")[/red]
Set objCommand.ActiveConnection = objConnect 
objCommand.CommandType = adCmdText

red.
Just ja... Välkommen till wF :)

Karin_ParinMedlem sedan okt. 200332 inlägg
#7

Hela koden ser ut som följer..jag är osäker på om objConnect är skapat men jag har ju som sagt inkluderat en databas anslut..beror felet på det..?
Tack!

MVH

Karin
<%@ Language=VBScript %>
<!--#include file="adovbs.inc"-->
<!--#include file="Databasanslut.asp"-->
<%
Dim StartTime
Dim objCommand
Dim objRS
Dim objConnect

StartTime = now 'när sidan startades
Set objCommand= Server.CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnect
objCommand.CommandType = adCmdText

Set objRS= Server.CreateObject("ADODB.Recordset")
Set objRS.ActiveConnection = objCommand
Set objRS.Source = objCommand

tmpDate = DateAdd("h", -1,now())
objCommand.CommandText = "SELECT COUNT(User_ID) as CNT FROM tblUserLog "&_
"WHERE Log_Date between '" & now & "' AND #"& tmpDate &"# "
objRS.Open
HourUsers= objRS("CNT")
objRS.Close
HourUsers = ObjRS("COUNT")
%>

@ndersMedlem sedan juni 200032 969 inlägg
#8

Hur ser koden ut i filen Databasanslut.asp?

Mvh

SebbeMedlem sedan jan. 20032 285 inlägg
#9

Testa med det här. :)

Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("dindatabas.mdb")
strSQL = "SELECT COUNT(*) FROM tlbUserLog WHERE Log_Date BETWEEN #" & Now() & "# AND #" & DateAdd("h", -1, Now()) & "#"
Set objRS = objConn.Execute(strSQL)

HourUsers = objRS(0)

Set objRS = Nothing
objConn.Close : Set objConn = Nothing

Använder här connection-objektet tillsammans med ett recordset-objekt istället för ett command-objekt. :)

Karin_ParinMedlem sedan okt. 200332 inlägg
#10

Databasanslut ser ut så här:
Dim objConn
Dim SQL
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=SQLOLEDB;Data Source=000.00.000.00;" _
& "Initial Catalog=dbkaas;User Id=xxx.xx;Password=XXXX;" _
& "Connect Timeout=15;Network Library=dbmssocn;"

@ndersMedlem sedan juni 200032 969 inlägg
#11

Eftersom du i filen databasanslut.asp kallar connectionobjektet för objConn bör du byta den här raden:

objCommand.ActiveConnection = objConnect

till

objCommand.ActiveConnection = objConn

Mvh

SebbeMedlem sedan jan. 20032 285 inlägg
#12

Funkar det såhär då? :)

<% 
Dim StartTime 
Dim objCommand 
Dim objRS 
Dim objConnect 

StartTime = now 'när sidan startades 
Set objCommand= Server.CreateObject("ADODB.Command") 
objCommand.ActiveConnection = objConn
objCommand.CommandType = adCmdText 

Set objRS= Server.CreateObject("ADODB.Recordset") 
Set objRS.ActiveConnection = objCommand 
Set objRS.Source = objCommand

tmpDate = DateAdd("h", -1,now()) 
objCommand.CommandText = "SELECT COUNT(User_ID) as CNT FROM tblUserLog "&_ 
"WHERE Log_Date between '" & now & "' AND '"& tmpDate &"'" 
objRS.Open 
HourUsers= objRS("CNT") 
objRS.Close 
%>

/red Nu var det din tur @nders! ;)

Karin_ParinMedlem sedan okt. 200332 inlägg
#13

Men hur skriver jag i här , jag har ju en SQL db som jag jobbar emot... Server.MapPath("mindatabas.mdb")

SebbeMedlem sedan jan. 20032 285 inlägg
#14

Karin_Parin skrev:

Men hur skriver jag i här , jag har ju en SQL db som jag jobbar emot... Server.MapPath("mindatabas.mdb")

Skippa den koden och kolla på de andra koderna jag och @nders skrev. :)

Karin_ParinMedlem sedan okt. 200332 inlägg
#15

Tackar så mkt, nu fungerar det som jag vill!

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