Avatar billede weis Nybegynder
31. marts 2007 - 18:04 Der er 8 kommentarer og
1 løsning

aspx fil skal hente oplysninger fra en access database

Jeg har fået det problem at skulle hente data udfra en access database igennem en aspx fil, ude at vide hvordan man gør. Jeg har ingen ide om hvordan forbindelsen oprettes eller hvordan dataen hentes.

En af tingen jeg skal hente er et felt der hedder dato, som skal konventeres til tre stringe, en med dag en med måned og en med år!

Jeg skal også hente et tidspunkt som skal konventeres til to stringe, en med timer og en med min

og så er der også andre tekststrenge!

Hvordan gøres det???
Avatar billede arne_v Ekspert
31. marts 2007 - 18:40 #1
Du lavet en OleDbConnection med en connection string som peger på din Access
database, så bruger du enten OleDbDataAdapter + DataSet eller OleDbCommand + OleDbDataReader
til at hente data ud med.

Data skal så vises via en eller flere ASP.NET web kontroller.
Avatar billede weis Nybegynder
31. marts 2007 - 18:45 #2
nu har jeg ingen idé om hvad du skriver :D for jeg har aldrig arbejde med aspx og det er kun fordi jeg har et script der skal eksportere en fil, og der til har jeg fået en aspx der kan det, men jeg skal selv få den til at hente det rigtige fra databasen!
Avatar billede snepnet Nybegynder
31. marts 2007 - 22:24 #3
Der er lidt læsestof her:
http://www.codeproject.com/cs/database/DatabaseAcessWithAdoNet1.asp?df=100&forumid=115290&exp=0&fr=26
Men du kunne evt. vise hvad det er du har - og hvordan det forventes at du benytter det.
Mvh
Avatar billede weis Nybegynder
31. marts 2007 - 22:39 #4
jeg er kommet så lang som til denne kode:

<%@ Import Namespace="System.Data" %>
<%@ Import NameSpace="System.Data.OleDb" %>

<% Dim myConnection As OleDbConnection
Dim myCommand As OleDbCommand
Dim myDataReader As OleDbDataReader

myConnection = New OleDbConnection( "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=db\kalender.mdb")
myConnection.Open()

myCommand = New OleDbCommand("select * from events where id = " & request.QueryString("id"), myConnection)
myDataReader = myCommand.ExecuteReader()
    While myDataReader.Read
        Dim MyOver as String = (myDataReader.Item("overskrift")) %>

<script runat="server">
En masse kode...........!
</script>

<% End While
myDataReader.Close()
myConnection.Close %>

men så kommer mit problem at min "MyOver" skal bruges efter der står <script runat="server">  i koden, og så er den 'not declared' længere?
Avatar billede weis Nybegynder
01. april 2007 - 00:15 #5
Så nu er det begyndt at virke, jeg har overså lige at det skulle ligge inden for "Sub Page_Load", men jeg har stadig det problem at jeg skal have konventeret en string i database som hedder dato (ser ud som dd-mm-yyyy) og kl (ser ud som hh:mm) og det hele skal gemmes med denne kode: (så jeg skal også have konventeret 24 timer om til 12 AM/PM)

Dim beginDate as Date = #04/14/2007 10:00 AM#
Avatar billede arne_v Ekspert
01. april 2007 - 00:28 #6
start med at prøv:

Dim d As DateTime = DateTime.Parse(stringfradb)
Avatar billede weis Nybegynder
01. april 2007 - 00:36 #7
jeg har allerede prøvet med (Convert.ToDateTime(myDataReader.Item("startd")).ToShortDateString()) for at undgå kl i den string, men når jeg så vil have den til at stå på "04/14/2007" plads får jeg en fejl der hedder 'Expression expected' og jeg har lige opdaget at datoen skal stå mm-dd-yyyy istedet, så kan man på en måde lave en hurtig ombytning?
Avatar billede weis Nybegynder
01. april 2007 - 12:39 #8
Nu har jeg leget lidt med en function til at ændre kl og dato, den er ikke køn men den virker. Jeg har dog stadig denne fejl 'Expression expected'

Min function er som følgende:

<Script Language="VBScript" RunAt="Server">
Function DatoString(ByVal vDate As String, ByVal vKl As String) As String
    Dim DatoD As String = day(vDate)
    Dim DatoM As String = month(vDate)
    Dim DatoY As String = year(vDate)
    Dim AddH As String = hour(vKl)
    Dim AddM As String = minute(vKl)
    Dim AddPA As String
    Dim AddResult As String
   
    'Her ændres datoen
    if DatoD.Length < 2 Then DatoD = "0" & DatoD
    if DatoM.Length < 2 Then DatoM = "0" & DatoM
   
    Dim DatoResult As String = DatoM & "/" & DatoD & "/" & DatoY
   
    'Her ændres klokken til AM/PM
    if AddH > 12 then
        AddH = AddH - 12
        AddPA = "PM"
    else
        AddPA = "AM"
    end if
   
    If AddH.Length < 2 Then
        AddResult = "0" & AddH & ":" & AddM & " " & AddPA
    else
        AddResult = AddH & ":" & AddM & " " & AddPA
    end if
   
    DatoString = DatoResult & " " & AddResult
End Function
</Script>

Og den kaldes herfra:

Dim beginDate as Date = #(DatoString((myDataReader.Item("kl")),(myDataReader.Item("dato"))))#

Har det noget at gøre med jeg bruger string i function og det er date der hvor jeg kalder den???
Avatar billede weis Nybegynder
17. april 2007 - 12:30 #9
lukker
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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