SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: m@gnus en Domingo 14 de Noviembre de 2004, 08:30

Título: Ayuda Con Store Procedures En Sql Y Visual Basic
Publicado por: m@gnus en Domingo 14 de Noviembre de 2004, 08:30
Primeo que nada saludos y mi pregunta es la siguiente, agradeciendoles de antemano sus respuestas.


lo que pasa es que cree un procedimiento en sql server 2000 y es el siguiente:




Alter Procedure insertarpaquete
(
@Cve_Paquete int,
@Nom_Paquete char (35)
)
As
if (select count(*) from paquete where Cve_paquete=@Cve_Paquete)<1
begin
insert into Paquete
(
Cve_Paquete,
Nom_Paquete
)
values
(@Cve_Paquete,
@Nom_Paquete)
end
return  @@rowcount



y retorno un valor del numero de columnas que he modificado si es 0 es que el valor de la llave primaria estaba duplicado y no se realizo ninguna inserion  si me retorna un uno es que la insercion fue satisfactoria,esto con el fin de saber desde visual basic si se ha insertado correctamente , pero no se como capturar el valor que retorno(@@rowcount ) desde visual basic.


En visual basic executo las siguientes instrucciones:

CBtis.Commands(1).Parameters(1).Value = Me.Text1.Text
CBtis.Commands(1).Parameters(2).Value = Me.Text2.Text
CBtis.Commands(1).Execute


y con esto se ejecuta mi insercion, pero como se que valor retorna? @@rowcount
Título: Re: Ayuda Con Store Procedures En Sql Y Visual Basic
Publicado por: Brroz en Lunes 15 de Noviembre de 2004, 17:54
Hola m@gnus.

A lo mejor es una gambada..., pero prueba declarando un objeto de tipo recordset e inicializándolo con el resultado del 'Execute'.
Código: Text
  1.  
  2. Dim rs1 as ADODB.Recordset
  3. Set rs1 = CBtis.Commands(1).Execute()
  4.  
  5.  
Intenta luego recuperar los valores del primer registro.

Chao.
Título: Re: Ayuda Con Store Procedures En Sql Y Visual Basic
Publicado por: m@gnus en Martes 16 de Noviembre de 2004, 17:02
Primero que nada te agradezco que respondas, a mi pregunta, pero dejame decirte que no sirve ya que cuando se declara una variable de tipo recordset, esta se utiliza en un consulta(cuando se utiliza el select)o cuando alguna ejecucion regresa un conjunto de valores, ya que en este se almacenan todos los campos que resultan de la consulta, pero en el caso de la insercion no regresa ningun tipo de valor o datos.



Pero paraece que ya se como solucionar el problema, de todos modos agradezco tu respuesta.


Saludos.

Atte

   M@GNUS
Título: Re: Ayuda Con Store Procedures En Sql Y Visual Basic
Publicado por: Loquillo en Martes 16 de Noviembre de 2004, 18:19
Utiliza un QueryDef para ejecutar tu Store Procedure, al cual le envias un parametro mediante la funcion call
Set xx = conexion.CreateQueryDef("", {?=call (Store Procedure)})
luego cambia la dirección del parametro.

Al ejecutar el querydef, asignandolo a un recordset, no importará si este último tiene o no información, lo importante es que en tu parametro ya estará el valor que deseas. :hola: