Avatar billede cskaade Nybegynder
23. oktober 2007 - 11:07 Der er 2 kommentarer og
1 løsning

Hvordan får man denne kode til at snakke med MySQL DB

Jeg har nu brugt en del timer på at prøve at få denne kode omskreven til at virke med en MySQL DB i stedet for en Access DB man jeg kan ikke få det til at virke hvordan omskriver man kode?

Håber der er nogle som kan hjælp mig.

inc.asp
-----------------
<%
    Sub LavDatabase(oConn)
      Dim AccessDB, myDSN
      AccessDB = "/menu/menu.mdb"
      myDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(accessdb)
      Set oConn = Server.CreateObject("ADODB.Connection")
      On Error Resume Next
        oConn.Open myDSN
        If Err.Number<>0 Then
          Response.Write "<BR><HR>Database connection error.<BR>"
          Response.Write "Fejl beskrivelse: " & err.description & "<BR>"
          Response.Write "Connectionstring: " & mydsn & "<BR>"
          Response.End
        End If
      On Error GOTO 0
    End Sub
       
    Sub LukDatabase(oConn)
      oConn.Close
      Set oConn = Nothing
    End Sub
   
    Sub OpenRS(oConn, SQL, RS)
    On Error Resume Next
      Err.Clear
      Set RS = Nothing
      Set RS = CreateObject("ADODB.Recordset")
      Call RS.Open(SQL, oConn,3)
      If Err.Number<>0 Then
        Response.Write "<BR><HR>"
        Response.Write "Databasefejl:<BR>"
        Response.Write "SQL: " & sql & "<BR>"
        Response.Write "Fejlmeddelelse: " & err.description & "<BR>"
        Response.End
      End If
    On Error GOTO 0
    End Sub
%>

menu.asp
-----------------
<!-- #INCLUDE FILE="inc.asp" -->
<HTML>
<HEAD>
<TITLE></TITLE>

<SCRIPT>
function MenuClick(MenuID) {
  var txt = document.all("txt_" + MenuID);
  if (txt.style.display == 'none') {
    txt.style.display = '';
  }
  else {
    txt.style.display = 'none';
  }
}
</SCRIPT>

</HEAD>
<BODY BGCOLOR="#FFFFFF">

<%
    Function BygUnderMenu(MenuID)
        UnderSQL = "SELECT ID, Navn, Link FROM Menu WHERE MenuID = " & MenuID & " ORDER BY [Order]"
        Call OpenRS(Conntemp,UnderSQL,UnderRS)
       
        Response.Write "<DIV ID=""txt_" & MenuID & """ STYLE=""display: none; margin-left: 10px;"">"
        While Not UnderRS.EOF
            If CountSubs(UnderRS("ID")) > 0 Then
                Response.Write "<A HREF=""#"" OnClick=""MenuClick(" & UnderRS("ID") & ")""><B>" & UnderRS("Navn") & "</B></A><BR>"
                BygUnderMenu UnderRS("ID")
            Else
                Response.Write "<A HREF=""" & UnderRS("Link") & """ TARGET="""">" & UnderRS("Navn") & "<BR>"
            End If
            UnderRS.MoveNext
        Wend
        Response.Write "</DIV>"
    End Function

    Function CountSubs(MenuID)
        CountSQL = "SELECT ID FROM Menu WHERE MenuID = " & MenuID & ""
        Call OpenRS(Conntemp,CountSQL,CountRS)
        CountSubs = CountRS.RecordCount
    End Function

    LavDatabase Conntemp

    SQL = "SELECT ID, Navn, Link FROM Menu WHERE MenuID = 0 ORDER BY [Order]"
    Call OpenRS(Conntemp,SQL,RS)
   
    If RS.BOF AND RS.EOF Then
        Response.Write "FEJL"
    Else
        RS.MoveFirst
        While Not RS.EOF
            If CountSubs(RS("ID")) > 0 Then
                Response.Write "<A HREF=""#"" OnClick=""MenuClick(" & RS("ID") & ")""><B>" & RS("Navn") & "</B></A><BR>"
                BygUnderMenu RS("ID")
            Else
                Response.Write "<A HREF=""" & RS("Link") & """>" & RS("Navn") & "<BR>"
            End If
            RS.MoveNext
        Wend
    End If
   
    LukDatabase Conntemp
%>
</BODY>
</HTML>
Avatar billede ladyhawke Novice
23. oktober 2007 - 11:45 #1
Du skal da i hvert fald rette dette til:
AccessDB = "/menu/menu.mdb"
      myDSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath(accessdb)
      Set oConn = Server.CreateObject("ADODB.Connection")
så det peger på din MySQL base og så skal du have lavet samme tabelstruktur i MySQL basen, som der er i access db filen
Avatar billede cskaade Nybegynder
23. oktober 2007 - 12:03 #2
Så får jeg denne fejl:
Microsoft VBScript compilation error '800a03ea'

Syntax error

/menu.asp, line 43

Function BygUnderMenu(MenuID)

og inc filen ser sådan ud nu:
<%
    Sub LavDatabase(oConn)
      Dim AccessDB, myDSN
      SQLserveradr="mysql.xxxxxx.net"
      SQLdatabase="xxxxx"
      SQLlogin="xxxxxxxx"
      SQLpassword="xxxxxxxx"
      Set oConn = Server.CreateObject("ADODB.Connection")
      oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER="& SQLserveradr &"; DATABASE="& SQLdatabase & "; UID="& SQLlogin &"; PWD="& SQLpassword & ";"
      On Error Resume Next
        oConn.Open
        If Err.Number<>0 Then
          Response.Write "<BR><HR>Database connection error.<BR>"
          Response.Write "Fejl beskrivelse: " & err.description & "<BR>"
          Response.Write "Connectionstring: " & " " & "<BR>"
          Response.End
        End If
      On Error GOTO 0
    End Sub
       
    Sub LukDatabase(oConn)
      oConn.Close
      Set oConn = Nothing
    End Sub
   
    Sub OpenRS(oConn, SQL, RS)
    On Error Resume Next
      Err.Clear
      Set RS = Nothing
      Set RS = CreateObject("ADODB.Recordset")
      Call RS.Open(SQL, oConn,3)
      If Err.Number<>0 Then
        Response.Write "<BR><HR>"
        Response.Write "Databasefejl:<BR>"
        Response.Write "SQL: " & sql & "<BR>"
        Response.Write "Fejlmeddelelse: " & err.description & "<BR>"
        Response.End
      End If
    On Error GOTO 0
    End Sub
%>
Avatar billede cskaade Nybegynder
25. oktober 2007 - 21:18 #3
Igen der kunne hjælp jeg lukker og prøver at se om jeg selv kan finde en løsnng
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