Avatar billede jobless Nybegynder
27. november 2002 - 14:08 Der er 5 kommentarer og
1 løsning

dll til asp (returner db-connection)

Hej.

Kan det lade sig gøre at lave en simpel dll som returnerer en db-connection, som man ellers vil gøre det i asp?

Formålet er simpelthen at lægge adgangskoden (til db'en) ind i dll'en, således at den ikke umiddelbart kan læses.
Avatar billede sjh Nybegynder
27. november 2002 - 16:41 #1
'---------------- Class1 DLL ----------------
' Visual Basic

Public Property Get Code() As String
  Code = Chr(65) & Chr(115) & Chr(112) 'Code = Asp
End Property
'---------------- Class1 DLL ----------------


<!-- ASP -->
<%
  Dim objProject
  Set objProject = CreateObject("Project1.Class1")
  strCode = objProject.Code
  Set objProject = Nothing
%>

<%=strCode%>
<!-- ASP -->
Avatar billede jobless Nybegynder
27. november 2002 - 18:23 #2
Det jeg gerne vil undgå er, at brugeren kan skrive:

response.write strCode

og derved få vist koden (brugeren har adgang til al asp-kode)
Derfor vil jeg gerne oprette min connection inde i dll'en, og returnere connection til asp-siden.
Avatar billede sjh Nybegynder
27. november 2002 - 20:25 #3
ved ikke om det virker men prøv:



'---------------- Class1 DLL ----------------
' Visual Basic
Private m_dbPath As String
Private Conn As Object

Public Sub Connect()
  Set Conn = CreateObject("ADODB.Connection")
  Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & m_dbPath & "; PWD=" & "dit password"
End Sub

Public Property Get GetConn() As Object
  Set GetConn = Conn
End Property

Public Property Get dbPath() As String
  dbPath = m_dbPath
End Property

Public Property Let dbPath(ByVal sNewPath As String)
  m_dbPath = sNewPath
End Property

Private Sub Class_Terminate()
  Conn.Close
  Set Conn = Nothing
End Sub
'---------------- Class1 DLL ----------------


<!-- ASP -->
<%
  Dim Conn
  Dim objProject
  Set objProject = CreateObject("Project1.Class1")

  objProject.dbPath = "C:\mappe\database.mdb"
  objProject.Connect

  strSQL = "Select Top 10 * from Nyheder Where Dato Order By Dato Desc"

  Set Conn = objProject.GetConn
  Set rs = Conn.Execute(strSQL)

  If rs.EOF = False Then
    Do
      Response.Write rs("Dato")
      rs.MoveNext
    Loop While Not rs.EOF
  End If

  Set objProject = Nothing
%>
<!-- ASP -->
Avatar billede jobless Nybegynder
27. november 2002 - 20:49 #4
Perfect, tak for hjælpen
Avatar billede sjh Nybegynder
27. november 2002 - 21:50 #5
virkede det som det skulle, eller har du lavet om på noget??

tak for point :-)
Avatar billede jobless Nybegynder
29. november 2002 - 14:17 #6
Jeg har rettet det til en anden connection-string, så jeg bruger OLE driver
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