Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Ayuda con un stored procedure

Estas en el tema de Ayuda con un stored procedure en el foro de Visual Basic clásico en Foros del Web. hola amigos ojala me puedan a yudar .... vb + SQL server 7 lo que pasa es que no puedo realizar el siguiente procedimiento almacenado ...
  #1 (permalink)  
Antiguo 14/03/2006, 00:43
 
Fecha de Ingreso: octubre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
Ayuda con un stored procedure

hola amigos ojala me puedan a yudar .... vb + SQL server 7

lo que pasa es que no puedo realizar el siguiente procedimiento almacenado ... el cual calcula el max de un campo:

CREATE PROCEDURE [codigomayor]
( @campo as varchar,
@tabla as varchar
)
AS
select Max (@campo) from [@tabla]

pd: @tabla la tengo en corchetes porque sin ellos me da error de sintaxis

lo que pasa es que es imposible que se ejecute desde visual basic por medio de una funcion que le pasa el campo y el nombre de la tabla....
asi llamo al procedimiento almacenado....

Function rescatamayor(ByVal nombrecampo As String, ByVal nombretabla) As Integer

// aca se conecta.....
.....
......
Set cmm = New ADODB.Command
cmm.ActiveConnection = cn

cmm.CommandType = adCmdStoredProc
cmm.CommandText = "codigomayor"
cmm.Parameters.Refresh
cmm.Parameters(1) = nombrecampo
cmm.Parameters(2) = nombretabla

Set rs = cmm.Execute
rescatamayor2 = rs.Fields(0)
End Function

y despues llamo a la funcion con los parametros que son el nombre del campo y de la tabla respectivamente

OJALA ME PUIEDAN AYUDAR.... GRACIAS Y SALUDOS
  #2 (permalink)  
Antiguo 14/03/2006, 09:37
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
El query tambien lo puedes ejecutar desde visual basic... sin ningun problema, no es nada del otro mundo
  #3 (permalink)  
Antiguo 14/03/2006, 12:38
 
Fecha de Ingreso: octubre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
si, ya lo e realizado desde visual basic ... pero necesito hacerlo como un procedimiento almacenado....

el problema es que no se si es valido que el parametro @tabla valla ahi....


CREATE PROCEDURE [codigomayor]
( @campo as varchar,
@tabla as varchar
)
AS
select Max (@campo) from @tabla


alguien ha echo algo parecido???

Última edición por sper; 14/03/2006 a las 12:51
  #4 (permalink)  
Antiguo 14/03/2006, 13:24
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
yo me lo sabía asi
cmm.Parameters("@campo") = nombrecampo
y no pongo el
cmm.Parameters.Refresh

y me funciona tomando en cuenta que lo hago en sql2000

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #5 (permalink)  
Antiguo 15/03/2006, 06:25
Avatar de Jefe_Negro  
Fecha de Ingreso: diciembre-2005
Mensajes: 50
Antigüedad: 18 años, 4 meses
Puntos: 0
Prueba asi a ver que pasa:

Código:
CREATE PROCEDURE [codigomayor] 
( @campo as varchar, 
@tabla as varchar 
) 
AS 
DECLARE @SELECT NVARCHAR(512)

SET @SELECT =  'select Max (' + @campo + ') from ' + @tabla

 EXEC sp_executesql @SELECT
__________________
Un Saludo
Jefe Negro.


PDF desde ASP ó VB6 Gratis: http://www.oPDF.tk
  #6 (permalink)  
Antiguo 16/03/2006, 12:28
 
Fecha de Ingreso: octubre-2005
Mensajes: 16
Antigüedad: 18 años, 5 meses
Puntos: 0
MUUCHAS GRACIAS JEFE_NEGRO

ME FUNCIONO PERFECTO.....

la ultima duda que tengo... si me la puedes responder o algun amigo que sepa....

Como puedo llamar a mi pocedimiento almacenado de otra forma y pasarle los parametros.... creo que existen mas metodos, (donde uno crea los parametro. crea los parametros....)

osea como puedo hacer este codigo de otra manera???

Set cmm = New ADODB.Command
cmm.ActiveConnection = cn

cmm.CommandType = adCmdStoredProc
cmm.CommandText = "codigomayor"
cmm.Parameters.Refresh
cmm.Parameters(1) = nombrecampo
cmm.Parameters(2) = nombretabla

Set rs = cmm.Execute



si alguien sabe una forma alternativa de hacer este codigo o que sea mejor ... que me adude porfa....

de antemano...muchas gracias
  #7 (permalink)  
Antiguo 17/03/2006, 02:44
Avatar de Jefe_Negro  
Fecha de Ingreso: diciembre-2005
Mensajes: 50
Antigüedad: 18 años, 4 meses
Puntos: 0
Em este hilo postee una funcioncita para llamar SP sin trabajar tanto.

http://www.forosdelweb.com/f69/llamar-procedimientos-almacenados-362726/
__________________
Un Saludo
Jefe Negro.


PDF desde ASP ó VB6 Gratis: http://www.oPDF.tk
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:17.