Applico i concetti espressi nell'articolo (prima parte)
Questa è la funzione lato VB6
e questo è il codice ASPcodice:Public Function LeggiRsWeb(Query As String) As ADODB.Recordset Dim rs As New ADODB.Recordset ' rs.CursorType = adOpenKeyset rs.LockType = adLockBatchOptimistic ' deve essere Batch rs.CursorLocation = adUseClient rs.Open WebHost & "GetXMLRecordset.asp?Query=" & Query Set LeggiRsWeb = rs.Clone rs.Close Set rs = Nothing End Function
Funziona tutto egregiamente, ma non so come aggiungere un record. Ora, leggendo meglio il codice ASP, mi viene il dubbio che un semplice INSERT INTO (come suggerito da "optime", che ringrazio) potrebbe fare il caso mio. Oggi provo ma. dovendo inserire parecchio (1000-2000 byte di dati con accenti, barre, asterischi, ecc.) nel record, temo che non si possa fare una query cosi' lunga.codice:<% Const enuErrorConnection = 0 Const enuErrorOpenRecordset = 1 Dim rs, stm, Parm, cn On Error Resume Next Set cn = CreateObject("ADODB.Connection") Set rs = CreateObject("ADODB.Recordset") Set stm = CreateObject("ADODB.Stream") strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Session("gloDB")+"db........mdb" cn.ConnectionString=strConn cn.CursorLocation=3 ' adUseClient cn.Open If Err Then rs.Fields.Append "EType", 3 rs.Fields.Append "Number", 20 rs.Fields.Append "Description", 200, 500 rs.Open rs.addnew rs(0) = enuErrorConnection rs(1) = Err.Number rs(2) = Err.Description rs.MoveFirst rs.Update Else Parm = Request.QueryString("Query") '--- siccome il carattere # non passa nella query lo sostituisco con un carattere "|" ' (l'operazione inversa l'ho fatta dal lato codice VB) if instr(Parm,"|")>0 then Parm=replace(Parm,"|","#") end if rs.Open Parm,cn,3,4,1 If Err Then Set rs = CreateObject("adodb.Recordset") rs.Fields.Append "EType", 3 rs.Fields.Append "Number", 20 rs.Fields.Append "Description",200,500 rs.Open rs.AddNew rs(0) = enuErrorOpenRecordset rs(1) = Err.Number rs(2) = Err.Description rs.Update End If End If rs.Save stm,1 cn.Close Set cn = Nothing Response.ContentType = "text/xml" Response.Expires=0 Response.Buffer=False Response.Write "<?xml version='1.0' encoding='ISO-8859-1'?>" & chr(13) & chr(10) Response.Write stm.ReadText stm.Close Set stm = Nothing Set rs = Nothing %>

Rispondi quotando