31. marts 2007 - 18:04Der 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
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.
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!
<% 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?
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)
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?
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???
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.