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?
					
		
	 
		
		
			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
		
		
	 
	
		
		
			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