ADO Recordset URL


ADO 2.5 (oder höher) erlaubt es Ihnen, ein auf XML basierendes ADO Recordset aus einer ASP-Datei über HTTP zu öffnen. Dieses Feature nutzt kein RDS.


Um Einträge aus einer entfernten Datenbank zu holen

oRs.Open "http://myServer/AuthorsGetByState.asp?state=CA",, _
          adOpenStatic, adLockBatchOptimistic

(der Inhalt der Datei AuthorsGetByState.asp wird unten angezeigt)

Um Änderungen zu speichern:

' Save Recordset into Stream
Set oStm = New ADODB.Stream
oRs.Save  oStm, adPersistXML

' Use MSXML's XMLHTTP object to open ASP 
Set oXMLHTTP = New MSXML2.XMLHTTP30
oXMLHTTP.Open "POST", "http://myServerName/AuthorsSave.asp"
oXMLHTTP.Send  oStm.ReadText

' If an error occurred
If oXMLHTTP.Status = 500 Then
    Debug.Print  oXMLHTTP.statusText
End If

(der Inhalt der Datei AuthorsSave.asp wird unten angezeigt)


Für weiterführende Informationen besuchen Sie bitte folgende Seite:
ADO Recordset's Open Method




AuthorsGetByState.asp

<%
@Language=VBScript
%>

<%
Option Explicit
%>

<%

Dim oConn
Dim oRs
Dim sSQL
Dim sState

On Error Resume Next

Const adPersistXML = 1
Const adStateOpen = 1
Const adOpenStatic = 3
Const adLockBatchOptimistic = 4
Const adCmdText = 1

' Eine neue Verbindung erstellen und öffnen
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "provider=sqloledb;" & _
     "data source=(local);" & _
     "initial catalog=pubs;" & _
     "user id=myUsername;" & _
     "password=myPassword;"
If Err.Number <> 0 Then
   Response.Status = "500 " & Err.Source & ": " & Err.Description
 Response.End
End If

' Erstellen und Öffnen eines veränderbaren Recordsets
Set oRs = Server.CreateObject("ADODB.Recordset")
sState = Request.QueryString("state") & ""
If Len(sState) Then
    sSQL = "Select * From Authors Where State = '" & sState & "'"
Else
    sSQL = "Select * From Authors"
End If
oRs.Open sSQL, oConn, adOpenStatic, adLockBatchOptimistic, adCmdText
If Err.Number <> 0 Then
   Response.Status = "500 " & Err.Source & ": " & Err.Description
   Response.End
End If

' ' Speichert Daten in ein Response Object (IIS4.0)
' Set oStream = Server.CreateObject("ADODB.Stream")
' oRs.Save oStream, adPersistXML
' Response.Write oStream.ReadText
 
' Speichert Daten in ein Respone Object (IIS5.0)
Response.ContentType = "text/xml"
oRs.Save Response, adPersistXML
If Err.Number <> 0 Then
   Response.Status = "500 " & Err.Source & ": " & Err.Description
   Response.End
End If

' Räumt auf
Set oRs = Nothing
If oConn.State = adStateOpen Then
 oConn.Close
End If
Set oConn = Nothing
%>



AuthorsSave.asp

<%
@Language=VBScript
%>

<%
Option Explicit
%>

<%

Dim oConn
Dim oRs

On Error Resume Next

' Erstellen und Öffnen einer neuen Verbindung
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "provider=sqloledb;" & _
           "data source=(local);" & _
           "initial catalog=pubs;" & _
           "user id=myUsername;" & _
           "password=myPassword;"
If Err.Number <> 0 Then
   Response.Status = "500 " & Err.Source & ": " & Err.Description
   Response.End
End If

' Erstellen und Öffnen eines neuen Recordset
Set oRs = Server.CreateObject("ADODB.Recordset")
oRs.Open Request
If Err.Number <> 0 Then
   Response.Status = "500 " & Err.Source & ": " & Err.Description
   Response.End
End If

' Aktualisiert die Datenbank
oRs.ActiveConnection = oConn
oRs.UpdateBatch
If Err.Number <> 0 Then
   Response.Status = "500 " & Err.Source & ": " & Err.Description
   Response.End
End If

' Räumt auf
Set oRs = Nothing
If oConn.State = adStateOpen Then
 oConn.Close
End If
Set oConn = Nothing
%>