La Web del Programador: Comunidad de Programadores
 
    Pregunta:  23174 - TIEMPO DE LLAMADA DE UN SP DESDE VB
Autor:  Francisco Biordi
Hola Gente, tengo un problema:
Si llamo a un sp de SQL Server desde VB me tarda un monton de tiempo pero si lo corro desde el analizador de consultas lo hace mucho mas rapido.
Alguien sabe si se puede acortar ese tiempo de llamada a sp o ejecución de querys desde VB.
Gracias, Francisco.

  Respuesta:  Mauricio Leyzaola
Hola Francisco, como ejecutas el sp desde visual basic? Hay como 8 maneras diferentes de hacerlo. Has probado la manera más simple?

Public Function ExisteNumeroSerieBD(NumSerie As String, Optional AlmacenId As Long = 0) As Boolean
Dim sSQL As String
Dim Rs As New ADODB.Recordset

If NumSerie = "" Then Exit Function

sSQL = "SPExisteNumSerie '" & NumSerie & "', " & AlmacenId
Rs.ActiveConnection = ADOQuery.ConnectionString
Rs.Open sSQL
ExisteNumeroSerieBD = Rs(0)
Set Rs = Nothing
End Function

Este es el sp:
CREATE PROCEDURE SPExisteNumSerie

@NumSerie CHAR(18),
@AlmacenId SMALLINT

AS

DECLARE @Existe TINYINT

IF @AlmacenId = 0
BEGIN
SELECT @Existe = COUNT(*)
FROM Equipo
WHERE NoSerie = @NumSerie
END
ELSE
BEGIN
SELECT @Existe = COUNT(*)
FROM Equipo
WHERE NoSerie = @NumSerie
AND Almacen_Id = @AlmacenId
END

IF @Existe > 0
SELECT -1
ELSE
SELECT 0
GO

Saludos.