Metodo Save

18/07/2003 - 15:16 por Fabian Brussa | Informe spam
Hola, tengo el siguiente problema: cuando quiero grabar un recordset a un
doc. XML, este se vuelve a ejecutar. Según lo que averigué esto es asi.
Existe alguna solución que permita grabar el recordset abierto, si que se
ejecute de nuevo??.
Gracias

Fabián

Preguntas similare

Leer las respuestas

#1 Fabian Brussa
21/07/2003 - 09:55 | Informe spam
Hola Softjaen, te comento, el recordset es resultado de la ejecución de un
procedimiento almacenado. El problema es que cuando llamo al metodo SAVE del
recordset, se vuelve a ejecutar el Procedimiento almacenado, me di cuenta
porque en el, tengo un par de INSERT a algunas tablas y veo que lo hace dos
veces.

Gracias.
Fabián

"Softjaen" @yahoo.es> escribió en el mensaje
news:
Mostrar la cita
#2 Fabian Brussa
21/07/2003 - 13:30 | Informe spam
Gracias Softjaen, asi mismo es como lo estoy utilizando, y detecte que se
ejecuta dos veces, uno para abrirlo y otro para ejecutar el .Save. Por lo
que averigue, esto es asi. Intente bajar el recordset "a mano" o sea
recorriendolo y generando el documento XML, y es muy lento cuando se superan
los 500 registros con mas de 10 campos. Si tienes otra opcion.. te lo
agradecería, lo mismo te agradezco tu preocupación.

Un saludo
Fabián


"Softjaen" @yahoo.es> escribió en el mensaje
news:
Mostrar la cita
de
Mostrar la cita
#3 Softjaen
21/07/2003 - 17:11 | Informe spam
"Fabian Brussa" escribió:

Mostrar la cita
Pues desconozco a qué se puede deber. ¿?

Si utilizas SQL Server, el siguiente ejemplo guarda en disco el resultado de
ejecutar el procedimiento almacenado «byroyalty» de la base de datos de
prueba «pubs». El código está escrito en Visual Basic:

Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cmd As ADODB.Command
Dim prm As ADODB.Parameter
Dim iParam As Integer

' Configuramos y abrimos la conexión
Set cnn = New ADODB.Connection
With cnn
.Provider = "SQLOLEDB.1"
.ConnectionString = "Persist Security Info=False;" & _
"User ID=sa;" & _
"Password=;" & _
"Initial Catalog=pubs;" & _
"Data Source=nombre_servidor_sql"
.Open
End With

' Creamos un objeto «Command»
Set cmd = New ADODB.Command
With cmd
.ActiveConnection = cnn
.CommandText = "byroyalty"
.CommandType = adCmdStoredProc
End With

' Define el parámetro de entrada del procedimiento almacenado.
iParam = Trim(InputBox("Introduzca el valor del parámetro:"))

' Creamos un objeto «Parameter»
Set prm = New ADODB.Parameter
With prm
.Type = adInteger
.Size = 3
.Direction = adParamInput
.Value = iParam
End With

' Añadimos el parámetro a la colección
cmd.Parameters.Append prm

' Creamos un objeto «Recordset» al ejecutar
' el comando
Set rst = cmd.Execute()

' Guardamos en disco el conjunto de registros
' devueltos en formato XML
rst.Save App.Path & "\Prueba.xml", adPersistXML

' Cerramos los objetos
rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing

Un saludo.

Enrique Martínez
[MS MVP - VB]
#4 Softjaen
21/07/2003 - 20:13 | Informe spam
"Fabian Brussa"

Mostrar la cita
Lo siento, Fabian. No se me ocurre otra opción por ahora.

Enrique Martínez
[MS MVP - VB]
#5 Fabian Brussa
25/07/2003 - 14:29 | Informe spam
bueno, gracias igual


"Softjaen" @yahoo.es> escribió en el mensaje
news:
Mostrar la cita
servidor
Mostrar la cita
grupo
Mostrar la cita
Ads by Google
Search Busqueda sugerida