Avatar billede websam Nybegynder
26. januar 2003 - 07:24 Der er 17 kommentarer og
2 løsninger

Function ?!?

Hejsa
Jeg er ved at lave en funktion der ser således ud :

Public Function getConn() As ADODB.Connection
    Dim Conn As New ADODB.Connection
    Conn.ConnectionString = "DSN=MinDsn"
    Set getConn = Conn
End Function

men jeg får denne fejl :

"User-defined type not defined"

Det er i liniesn :

Public Function getConn() As ADODB.Connection

Hvad skyldes det ? Jeg skal måske lige sige at det er til
en ActiveX dll

/WebSam
Avatar billede iblarsen Praktikant
26. januar 2003 - 07:54 #1
Hej - jeg har gjort således:

  Dim objConn
  Dim strConnection

  strConnection = Application("DBConnection")
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open = strConnection

Hvor DBConnection er sat op i Global.asa
Avatar billede websam Nybegynder
26. januar 2003 - 08:05 #2
kunne du vise mig din global.asa ?

/WebSam
Avatar billede Slettet bruger
26. januar 2003 - 08:09 #3
Prøv barre at drop: "As ADODB.Connection" - VBScript er ikke afhængig af datatyper...
Avatar billede iblarsen Praktikant
26. januar 2003 - 08:28 #4
Selfølgelig:


<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Application_OnStart
  Application("DBConnection") = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\Website\Prod\SBPortal\Database\SBPortal.mdb; User Id=admin; Password=;" 
End Sub

Sub Application_OnEnd
End Sub

Sub Session_OnStart
  Session("lngUserID") = 0
  Session("strUserName") = ""
End Sub

Sub Session_OnEnd
End Sub


</SCRIPT>
Avatar billede websam Nybegynder
26. januar 2003 - 08:36 #5
iblarsen >> Tak for det jeg vil lure lidt på det

smajli >> Hvis jeg gør kan jeg godt lave dll'en men den melder fejl nårjeg kalder den som følger :

set objConn = Server.CreateObject("Opendb.Openit")
set Conn = objConn.openit()
Conn.open

Så får jeg denne felj :

Error Type:
Microsoft VBScript runtime (0x800A01B6)
Object doesn't support this property or method: 'objConn.openit'

Ved du hvad det skyldes ?

/WebSam
Avatar billede Slettet bruger
26. januar 2003 - 09:13 #6
For at kunne As ADODB.Connection skal du lave en reference til ADO via Tools - References og så vælge "Microsoft ActiveX data object ..."

1) set objConn = Server.CreateObject("Opendb.Openit")
2) set Conn = objConn.openit()
3) Conn.open

linie 2 fejler hvis openit ikke er declareret Public i dll'en
Avatar billede websam Nybegynder
26. januar 2003 - 09:27 #7
Og skal jeg vælge alle "Microsoft ActiveX data object" for der jo et par stykker af dem ?
Avatar billede Slettet bruger
26. januar 2003 - 09:34 #8
nej, bare en. f.eks den med højest versions nummer (Med mindre det skal køre på en server hvor der kun er en ældre version, f.eks. version 2.5)
Avatar billede websam Nybegynder
26. januar 2003 - 09:49 #9
ok så fik jeg det på plads men jeg får stadig den fejl med "linie 2" :o( Skal jeg declare den i dll'en ? For hvis jeg laver den på siden er der stadig fejl ?

/Websam
Avatar billede Slettet bruger
26. januar 2003 - 09:56 #10
står der public foran "function openit"?
Avatar billede websam Nybegynder
26. januar 2003 - 10:06 #11
jeps det går der !
Avatar billede websam Nybegynder
26. januar 2003 - 10:12 #12
ok her kommer lige det kode jeg har til nu :

Public Function OpenIt() As ADODB.Connection
    Dim Conn As New ADODB.Connection
    Conn.ConnectionString = "DSN=Pornsurf"
    Set getConn = Conn
End Function

Og her når jeg forsøger at åbne databasen :

set objConn = Server.CreateObject("Opendb.OpenIt")
set Conn = objConn.OpenIt()
Conn.open

Og nu kom der en ny fejl :

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'Conn'

Den anden var mig der havde glemt OpenIt i dll'en

/websam
Avatar billede Slettet bruger
26. januar 2003 - 10:14 #13
Er det ikke getConn du skal kalde? (jeg kan se at den returnerer en connection):

1) set objConn = Server.CreateObject("Opendb.Openit")
2) set Conn = objConn.getConn()
3) Conn.open
Avatar billede Slettet bruger
26. januar 2003 - 10:15 #14
hvordan ser din asp kode ud?
Avatar billede websam Nybegynder
26. januar 2003 - 10:19 #15
Jeg har lige skrevet se ovenfor :o)
Avatar billede Slettet bruger
26. januar 2003 - 10:21 #16
Det kan ikke være det hele.
Min mistanke er at du bruger Option Explicit, man ikke har nogen Dim for Conn variablen
Avatar billede websam Nybegynder
26. januar 2003 - 10:24 #17
ok jeg prøver lige at fjerne den dim conn og jeg bruger ikke Option Explicit
Avatar billede websam Nybegynder
26. januar 2003 - 10:28 #18
Så lyyedes det jeg kan jo ikke lave "Set getConn = Conn" når den heder OpenIt du får mange tak for hjælpen point på vej til dig :o)
Avatar billede websam Nybegynder
26. januar 2003 - 10:31 #19
Der var lige en anden ting :o) Hvis du har forstand på kryptering ville jeg meget gerne have hvis du ville kigge på denne :
http://www.eksperten.dk/spm/307860

/WebSam
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester