Avatar billede peterfyr Nybegynder
21. maj 2004 - 18:19 Der er 3 kommentarer

Opdateringsside med læsning fra XML til Access-fil

Jeg har lavet en webside hvor man kan opdatere oplysninger (altså ændre, slette osv), der vises i en datagrid.

Den henviser til en xml-fil, hvor oplysningerne ligger i.
Hvordan får jeg den til at hente det fra en access-fil?
Avatar billede peterfyr Nybegynder
21. maj 2004 - 18:20 #1
Koden ser sådan ud:

Dim ObjConn As oledbConnection
Dim ObjRs As oledbDataReader
Dim ObjCmd As oledbCommand
Dim DBPos, Antal, i, SideAntal, TotalPris As Integer
Dim CheckOutDate as Date
Dim NyAntalSolgt As Integer
Dim SQLStr As string
Dim strRes, strConn, strSQL, strSti as string
Dim objDR as OledbDataReader

Sub Page_Load(sender as object, e as eventargs)
    If not Page.IsPostback Then
        EventData.DataSource = LoadMyCalendarData
        EventData.DataBind()
    End If
End Sub

Protected Function LoadMyCalendarData() As DataSet
    Dim sourceXML as String = Server.MapPath("MyCalendar.xml")
    If    ( Not File.Exists(sourceXML) ) Then
        Return Nothing
    End if

    Dim cachedDataSet as DataSet = Session("MyCalendarData")
    if ( Not cachedDataSet Is Nothing ) Then
      Return cachedDataSet
    End if

    Dim dataSet As DataSet = New DataSet()

    Try
      dataSet.ReadXml(sourceXML)
      Session("MyCalendarData") = dataSet
    Catch e As Exception
      ErrorMessage.Text = e.Message
      dataSet = Nothing
    End Try

    Return dataSet
End Function

Sub DEDR_Edit(sender as object, e as DataGridCommandEventArgs)
    EventData.EditItemIndex = CInt(E.Item.ItemIndex)
    EventData.DataSource = LoadMyCalendarData
    EventData.DataBind()
End Sub

Sub DEDR_Update(sender as object, e as DataGridCommandEventArgs)
    Dim dataSet as DataSet = LoadMyCalendarData
    Dim row as Integer = CInt(E.Item.ItemIndex)
    Dim EditText as textbox

    EditText = E.Item.FindControl("txtShortDesc")
    dataSet.Tables(0).Rows(row).Item("ShortDesc") = EditText.Text
    EditText = E.Item.FindControl("txtDetailDesc")
    dataSet.Tables(0).Rows(row).Item("DetailDesc") = EditText.Text
    EditText = E.Item.FindControl("txtEventDate")
    dataSet.Tables(0).Rows(row).Item("EventDate") = EditText.Text
    EditText = E.Item.FindControl("txtStartTime")
    dataSet.Tables(0).Rows(row).Item("StartTime") = EditText.Text
    EditText = E.Item.FindControl("txtEndTime")
    dataSet.Tables(0).Rows(row).Item("EndTime") = EditText.Text

    dataSet.WriteXML(Server.Mappath("MyCalendar.xml"))

    Session("MyCalendarData") = Nothing

    EventData.EditItemIndex = -1

    EventData.DataSource = LoadMyCalendarData
    EventData.DataBind()
End Sub

Sub DEDR_Cancel(sender as object, e as DataGridCommandEventArgs)
    EventData.EditItemIndex = -1
    Session("MyCalendarData") = Nothing
    EventData.DataSource = LoadMyCalendarData
    EventData.DataBind()
End Sub

Sub DEDR_Delete(sender as object, e as DataGridCommandEventArgs)
    Dim dataSet as DataSet = LoadMyCalendarData
    Dim row as Integer = CInt(E.Item.ItemIndex)

    dataSet.Tables(0).Rows(row).Delete

    dataSet.WriteXML(Server.Mappath("MyCalendar.xml"))

    Session("MyCalendarData") = Nothing

    EventData.EditItemIndex = -1

    EventData.DataSource = LoadMyCalendarData
    EventData.DataBind()
End Sub

Sub DEDR_Add(sender as object, e as EventArgs)
    Dim dataSet as DataSet = LoadMyCalendarData
    Dim newRow as DataRow
    newRow = dataSet.Tables(0).NewRow()
    newRow.Item("EventDate") = ""
    newRow.Item("ShortDesc") = ""
    newRow.Item("DetailDesc") = ""
    newRow.Item("StartTime") = ""
    newRow.Item("EndTime") = ""
    dataSet.Tables(0).Rows.Add(newRow)

    dataSet.WriteXML(Server.Mappath("MyCalendar.xml"))

    Session("MyCalendarData") = Nothing

    EventData.DataSource = LoadMyCalendarData
    EventData.DataBind()

    EventData.EditItemIndex = EventData.Items.Count - 1

    EventData.DataSource = LoadMyCalendarData
    EventData.DataBind()
End Sub
Avatar billede peterfyr Nybegynder
21. maj 2004 - 18:37 #2
Hvordan får jeg den til at læse fra en Access-database, i stedet for en XML-fil, altså så den have opdateringsfunktionen med vist i en datagrid
Avatar billede terry Ekspert
28. maj 2004 - 21:26 #3
peterfyr>You need to close the previous question http://www.eksperten.dk/spm/500869
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