SQL - Consultas en el servidor

 
Vista:

Consultas en el servidor

Publicado por Fernanda (5 intervenciones) el 20/10/2004 01:09:57
Quisiera consultar sobre algo que no puedo resolver!, el tema es que tengo una aplicación en Visual basic 6 y la base de datos alojada en un servidor de Sql Server, ahora en el visual tengo diseñadas unas pantallas de consultas que por medio de la elección de parámetros deberían ejecutar consultas, lo que quiero es ejecutar consultas que estén alojadas en el servidor, me comentaron que por medio de vistas sería muy sencillo, pero la verdad no se como ejecutarlas desde el visual. Despues tambien intenté con procedimientos almacenados, armé una consulta y desde el visual puedo ver los resultados pero cuando la consulta devuelve un único resultado, y con variables declaradas (en el proc. almacenado) como Output.
Cómo debería hacer en este caso para manejar los resultados si son mas de uno. La idea es poder manejar la información para armar unos reportes. Agradecería mucho si me pueden ayudar, aunque sea con un ejemplo o algo que me ayude!!!
Muchas Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Consultas en el servidor

Publicado por Pancho (10 intervenciones) el 20/10/2004 18:07:41
Si al final del procedimiento pones el select me parece q puedes recuperarlo desde visual basic como cuando ejecutas un query en visual

salu2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas en el servidor

Publicado por Fernanda (5 intervenciones) el 20/10/2004 18:45:26
Cómo?? Si yo en el procedimiento tengo un select...... que devuelve un conjunto de tuplas de diversas tablas...pero como puedo recuperar esos resultados?? se entiende la duda? en que tipo de datos? porque para ejecutar el procedimiento uso variables declaradas como
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
y despues
cmd.ActiveConnection = cn
cmd .CommandType = adCmdStoredProc
cmd .CommandText = \"nombre procedimiento\"
le paso los parámetros al procedimiento..
cmd.Parameters(\"@Categoria\") = \"loquesea\"
cmd.Execute
Entonces el tema es como accedo a los resultados?
Gracias por ayudarme!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas en el servidor

Publicado por Isaías (5072 intervenciones) el 20/10/2004 23:40:41
En esta liga, encontraras infinidad de ejemplos que te ayudaran a hacer lo que necesitas

http://www.elguille.info/indice.asp
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas en el servidor

Publicado por Fernanda (5 intervenciones) el 21/10/2004 00:07:21
Muchas gracias por el link del sitio del guille..
Ahora una duda, en este código que saque del sitio recomendado, la consulta se ejecuta en el cliente verdad?

Option Explicit

Private cnn As ADODB.Connection
Private rst As ADODB.Recordset

Private Sub cmdAbrir_Click()
Dim tField As ADODB.Field
'
' Por si ya estaba abierta...
Set cnn = Nothing
Set rst = Nothing
'
' Crear los objetos
Set cnn = New ADODB.Connection
Set rst = New ADODB.Recordset
'
' abrir la base usando las credenciales de Windows
cnn.Open "Provider=SQLOLEDB; " & _
"Initial Catalog=pubs; " & _
"Data Source=(local)\NETSDK; " & _
"integrated security=SSPI; persist security info=True;"
'
' abrir el recordset indicando la tabla a la que queremos acceder
rst.Open "SELECT * FROM authors", cnn, adOpenDynamic, adLockOptimistic
'
' Asignar los nombres de los campos al combo
With cboCampos
.Clear
For Each tField In rst.Fields
.AddItem tField.Name
Next
.ListIndex = 0
End With
'
' Cerrar el recordset y la conexión
rst.Close
cnn.Close
'
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas en el servidor

Publicado por Isaías Islas (5072 intervenciones) el 22/10/2004 03:12:58
Amiga

La teoria CLIENTE-SERVIDOR, nos indica que TODAS y CADA UNA de las intrucciones T-SQL, incluyendo los procedimientos, SIEMPRE se ejecutaran en el servidor.

En su ejemplo, se crea un RECORDSET (arreglo de registros en su front), una vez que se concluye su consulta.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas en el servidor

Publicado por Fernanda (5 intervenciones) el 22/10/2004 12:27:04
Muchas gracias por tu respuesta.
La duda era ya que queria optimizar las consultas, yo venía manejandolas de esa manera escribiendo la consulta en el codigo del visual y armando el recordset, pero pensé que de esa manera se ejecutaba la consulta en el cliente, y que haciendolas con procedimientos almacenados se ejecutaba en el servidor y era mas eficiente. Muchas Gracias por todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Consultas en el servidor

Publicado por Fernanda (5 intervenciones) el 20/10/2004 18:45:27
Cómo?? Si yo en el procedimiento tengo un select...... que devuelve un conjunto de tuplas de diversas tablas...pero como puedo recuperar esos resultados?? se entiende la duda? en que tipo de datos? porque para ejecutar el procedimiento uso variables declaradas como
Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
y despues
cmd.ActiveConnection = cn
cmd .CommandType = adCmdStoredProc
cmd .CommandText = \"nombre procedimiento\"
le paso los parámetros al procedimiento..
cmd.Parameters(\"@Categoria\") = \"loquesea\"
cmd.Execute
Entonces el tema es como accedo a los resultados?
Gracias por ayudarme!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar