Avatar billede riishoj Nybegynder
18. december 2004 - 13:18 Der er 8 kommentarer og
1 løsning

Hvordan ændrer jeg db-connection?

Jeg har et script med en noget underlig db-connection. Kan nogen se, hvordan jeg ændrer den, så jeg kan bruge en dsn-less forbindelse lokalt på  min pc. Jeg har prøvet alt muligt uden held.

Forbindelsen ser sådan ud!

Dim DB_CONNECTIONSTRING
Dim objRecordset

DB_CONNECTIONSTRING = "DSN=xxxdkdsn"

Set objRecordset = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "calendar", DB_CONNECTIONSTRING, adOpenStatic, adLockPessimistic, adCmdTable
Avatar billede thesurfer Nybegynder
18. december 2004 - 13:22 #1
Avatar billede riishoj Nybegynder
18. december 2004 - 13:31 #2
Ja, den kender jeg godt. Men som sagt, jeg har prøvet alt muligt uden at få det til at virke. Søger et konkret forslag til en løsning.
Avatar billede kalp Novice
18. december 2004 - 15:23 #3
hvad hedder din database? calendar?
Avatar billede riishoj Nybegynder
18. december 2004 - 15:40 #4
Ja, tabellen i db'en hedder calendar.
Avatar billede kalp Novice
18. december 2004 - 15:49 #5
hvad hedder din database så?
Avatar billede riishoj Nybegynder
18. december 2004 - 15:57 #6
xxx.mdb
Avatar billede kalp Novice
18. december 2004 - 16:14 #7
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM calendar"
strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("xxx.mdb")
rs.Open strSQL

og det der virker ikke? måske har det noget at gøre med resten af scriptet? hvis der er blevet kald til databasen på scriptet skal du nu bruge rs
Avatar billede riishoj Nybegynder
18. december 2004 - 18:37 #8
Jeg smider lige hele scriptet op. Jeg har selv svært ved at gennemskue det, da  det meste er en masse datofunktioner.

<%@ LANGUAGE=VBSCRIPT %>
<%Option Explicit%>


    <!--#include file="adovbs.inc"-->

<%
If Request.Form("AddEvent") = "Tilføj begivenhed" Then
    Response.Redirect("add_event.asp")
End If

If Request.Form("EditEvent") = "Edit Event" Then
    Response.Redirect("edit_event.asp")
End If

Dim DB_CONNECTIONSTRING
Dim objRecordset

DB_CONNECTIONSTRING = "DSN=xxxdkdsn"

Set objRecordset = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "calendar", DB_CONNECTIONSTRING, adOpenStatic, adLockPessimistic, adCmdTable
%>

<%
Function GetDaysInMonth(iMonth, iYear)
    Select Case iMonth
        Case 1, 3, 5, 7, 8, 10, 12
            GetDaysInMonth = 31
        Case 4, 6, 9, 11
            GetDaysInMonth = 30
        Case 2
            If IsDate("February 29, " & iYear) Then
                GetDaysInMonth = 29
            Else
                GetDaysInMonth = 28
            End If
    End Select
End Function

Function GetWeekdayMonthStartsOn(iMonth, iYear)
    GetWeekdayMonthStartsOn = WeekDay(CDate(iMonth & "/1/" & iYear))
End Function

Function SubtractOneMonth(dDate)
Dim iDay, iMonth, iYear   
    iDay = Day(dDate)
    iMonth = Month(dDate)
    iYear = Year(dDate)

    If iMonth = 1 Then
        iMonth = 12
        iYear = iYear - 1
    Else
        iMonth = iMonth - 1
    End If
   
    If iDay > GetDaysInMonth(iMonth, iYear) Then iDay = GetDaysInMonth(iMonth, iYear)

    SubtractOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)
End Function

Function AddOneMonth(dDate)
Dim iDay, iMonth, iYear   
    iDay = Day(dDate)
    iMonth = Month(dDate)
    iYear = Year(dDate)

    If iMonth = 12 Then
        iMonth = 1
        iYear = iYear + 1
    Else
        iMonth = iMonth + 1
    End If
   
    If iDay > GetDaysInMonth(iMonth, iYear) Then iDay = GetDaysInMonth(iMonth, iYear)

    AddOneMonth = CDate(iMonth & "-" & iDay & "-" & iYear)
End Function


Dim dDate    ' Date we're displaying calendar for
Dim iDIM      ' Days In Month
Dim iDOW      ' Day Of Week that month starts on
Dim iCurrent  ' Variable we use to hold current day of month as we write table
Dim iPosition ' Variable we use to hold current position in table

If IsDate(Request.QueryString("date")) Then
    dDate = CDate(Request.QueryString("date"))
Else
    If IsDate(Request.QueryString("month") & "-" & Request.QueryString("day") & "-" & Request.QueryString("year")) Then
        dDate = CDate(Request.QueryString("month") & "-" & Request.QueryString("day") & "-" & Request.QueryString("year"))
    Else
        dDate = Date()

        If Request.QueryString.Count <> 0 Then
            Response.Write "The date you picked was not a valid date.  The calendar was set to today's date.<BR><BR>"
        End If
    End If
End If

iDIM = GetDaysInMonth(Month(dDate), Year(dDate))
iDOW = GetWeekdayMonthStartsOn(Month(dDate), Year(dDate))
%>

<html>

<head>
<title></title>
</head>

<body background="background7.gif">

<p align="center"><font size="5">Kalenderen</font>
<br>
<center>

<table border="1" cellspacing="0" cellpadding="1" bgcolor="#FFFFFF">
    <tr>
        <td bgcolor="blue" align="center" colspan="7">
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                    <td align="right"><b><A HREF="calendar.asp?date=<%= SubtractOneMonth(dDate) %>" style="color: #FFFFFF">&lt;--Forrige måned</A></b></TD>
                    <td align="center"><font color="#FFFFFF"><B><%= MonthName(Month(dDate)) & "  " & Year(dDate) %></B></font></TD>
                    <td align="left"><b><A HREF="calendar.asp?date=<%= AddOneMonth(dDate) %>" style="color: #FFFFFF">Næste måned--&gt;</A></b></TD>
                   
                </tr>
            </TABLE>
        </td>
    </tr>
    <tr bgcolor="blue">
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Søndag</font></B></TD>
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Mandag</font></B></TD>
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Tirsdag</font></B></TD>
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Onsdag</font></B></TD>
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Torsdag</font></B></TD>
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Fredag</font></B></TD>
        <td ALIGN="center" width="80"><B><font color="#FFFFFF">Lørdag</font></B></TD>
    </tr>
<%
If iDOW <> 1 Then
    Response.Write(vbTab & "<tr>" & vbCrLf)
    iPosition = 1
    Do While iPosition < iDOW
        Response.Write(vbTab & vbTab & "<td>&nbsp;</td>" & vbCrLf)
        iPosition = iPosition + 1
    Loop
End If

    '-- Write days of month in proper day slots --

iCurrent = 1
iPosition = iDOW

Do While iCurrent <= iDIM


    '-- open the table row --

    If iPosition = 1 Then
        Response.Write(vbTab & "<tr>" & vbCrLf)
    End If


    '-- Write the date and subject --

        Response.Write(vbTab & vbTab & "<td align=left valign=top height=60><b>" & iCurrent & "</b>")



    If Not objRecordset.BOF Then
        objRecordset.MoveFirst
        Do Until objRecordset.EOF

    If objRecordset.Fields("Year") = Year(dDate) Then
        If objRecordset.Fields("Month") = Month(dDate) Then

        If objRecordset.Fields("Day") = iCurrent Then
        Response.Write("<br><font size=2><a href=" & Chr(34) & "display_event.asp?ID=" & objRecordset.Fields("ID") & Chr(34) & ">" & objRecordset.Fields("Subject") & "</a></font><br>")
        End If

        End If
    End If

            objRecordset.MoveNext

        Loop

    End If



        Response.Write("</td>" & vbCrLf)


    '-- Close the table row --

    If iPosition = 7 Then
        Response.Write vbTab & "</tr>" & vbCrLf
        iPosition = 0
    End If

   
    '-- Increment variables --

    iCurrent = iCurrent + 1
    iPosition = iPosition + 1
Loop

If iPosition <> 1 Then
    Do While iPosition <= 7
        Response.Write(vbTab & vbTab & "<td>&nbsp;</td>" & vbCrLf)
        iPosition = iPosition + 1
    Loop
    Response.Write vbTab & "</TR>" & vbCrLf
End If
%>
</table>


<%
objRecordset.Close
Set objRecordset = Nothing
%>

<%
    Response.Write("<form action=" & Chr(34) & "calendar.asp" & Chr(34) & " method=" & Chr(34) & "post" & Chr(34) & ">" & Chr(10))
    Response.Write("<input type=" & Chr(34) & "submit" & Chr(34) & " name=" & Chr(34) & "AddEvent" & Chr(34) & " value=" & Chr(34) & "Tilføj begivenhed" & Chr(34) & ">" & "&nbsp;&nbsp;")
    Response.Write("</form>")
%>

</center>

</html>
Avatar billede riishoj Nybegynder
18. december 2004 - 21:11 #9
Jeg har selv fundet en løsning

DB_CONNECTIONSTRING = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("xxx.mdb") & ";"
Set objRecordset = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "calendar", DB_CONNECTIONSTRING, adOpenStatic, adLockPessimistic, adCmdTable
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