Visualizzazione dei risultati da 1 a 2 su 2

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2012
    Messaggi
    35

    [VB6/SQL] Problema Stored Procedure

    ho un problema con una stored procedur
    codice:
    codice:
    USE [TELECONTROLLO]
    GO
    /****** Oggetto: StoredProcedure [dbo].[SP_Insert_Modifica_Report] Data script: 05/12/2014 09:50:10 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[SP_Insert_Modifica_Report] 
    -- Add the parameters for the stored procedure here
    @DataFine datetime,
    @DataInizio datetime,
    @Tabella varchar(10),
    @Misura varchar(50),
    @User varchar(20)
    
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;
    
    declare @ComandoSQL varchar(8000)
    declare @DataInizio_While datetime
    
    -- Aggiungo Un giorno a Data Fine perchè devev essere compresa nella Select
    set @DataFine = dateadd(day,1,@DataFine)
    
    if @Tabella in ('FIFTEEN','HOURLY')
    exec sp_get_query_YYYYMM @DataFine, @DataInizio, @Tabella, @Misura , @ComandoSQL out
    else if @Tabella in ('DAILY','DAILYT')
    exec sp_get_query_YYYY @DataFine, @DataInizio, @Tabella, @Misura , @ComandoSQL out
    else 
    exec sp_get_query @DataFine, @DataInizio, @Tabella, @Misura , @ComandoSQL out
    
    
    SET @ComandoSQL = 'INSERT INTO [RPT_MODIFICA_MISURE] ([TAGNAME],[LOGTIME],[TAGVALUE],[TAGV_MIN],[TAGV_MAX],[TAGV_INT],[TAGV_INI],[TAGV_END],[DATA_MIN],[DATA_MAX],[TABELLA],[RPT_USER]) Select *, '''+ @Tabella + ''', ''' + @User +''' from ('+@ComandoSQL+') As MyTable ORDER BY LOGTIME ASC'
    Print 'Eseguo Comando SQL ritornato --> ' + @ComandoSQL
    
    exec (@ComandoSQL)
    
    if @@ERROR <> 0 
    --return 0
    --else 
    begin
    Print @@ERROR
    return -1
    end
    -- inserisco un record vuoto per ogni periodo non trovato
    print 'verifica'
    set @DataInizio_While = @DataInizio
    
    while @DataInizio_While < @DataFine
    begin
    print @DataInizio_While
    if not exists(SELECT 1 FROM RPT_MODIFICA_MISURE
    WHERE LOGTIME = @DataInizio_While 
    AND RPT_USER = @User
    AND TABELLA = @Tabella )
    begin
    print 'record periodo ' + Cast(@DataInizio_While as varchar(20)) + ' non trovato'
    print 'lo inserisco'
    
    INSERT INTO RPT_MODIFICA_MISURE 
    (TAGNAME,LOGTIME,TABELLA,RPT_USER)
    VALUES
    (@Misura,@DataInizio_While,@Tabella,@User)
    end 
    if @Tabella = 'FIFTEEN'
    set @DataInizio_While = dateadd(n,15,@DataInizio_While)
    if @Tabella = 'HOURLY'
    set @DataInizio_While = dateadd(hh,1,@DataInizio_While)
    if @Tabella = 'DAILY'
    set @DataInizio_While = dateadd(d,1,@DataInizio_While)
    if @Tabella = 'MONTHLY'
    set @DataInizio_While = dateadd(m,1,@DataInizio_While)
    if @Tabella = 'YEARLY'
    set @DataInizio_While = dateadd(y,1,@DataInizio_While)
    
    
    end
    if @@ERROR = 0 
    return 0
    else 
    begin
    Print @@ERROR
    return -1
    end
    
    END
    e ho creato un metodo in VB6 che la richiama:
    codice:
    Public Sub sbExecSPModifiche(sTag As String, dDataInizio As Date, dDataFine As Date, sTabella As String, sUser As String)
    
    ' @DataFine datetime,
    ' @DataInizio datetime,
    ' @Tabella varchar(10),
    ' @Misura varchar(50)
    Dim lTb As ADODB.Recordset
    
    
    Dim strFiltro As String
    Dim stato As Stream
    Dim stat As String
    Dim provRis As String
    Dim strProva As String
    
    strProva = "select RPT_Password from RPT_UTENTI WHERE RPT_Codice_Utente='Piana'"
    Call sbApriRecordset(lTb, strProva)
    provRis = lTb!RPT_Password
    
    'strFiltro = "@DataFine = '" & dDataFine & "',"
    'strFiltro = strFiltro & "@DataInizio = '" & dDataInizio & "',"
    'strFiltro = "SP_Insert_Modifica_Report ,"
    stat = lTb.State
    stat = gDB.State
    
    strFiltro = strFiltro & "@DataFine = '" & Format(dDataFine, "yyyy/mm/dd hh:mm:ss") & "',"
    strFiltro = strFiltro & "@DataInizio = '" & Format(dDataInizio, "yyyy/mm/dd hh:mm:ss") & "',"
    
    strFiltro = strFiltro & "@Tabella = '" & sTabella & "',"
    strFiltro = strFiltro & "@Misura = '" & sTag & "',"
    strFiltro = strFiltro & "@User = '" & sUser & "'"
    
    Set lTb = gDB.Execute("EXEC SP_Insert_Modifica_Report ", strFiltro)
    
    
    End Sub
    ma appena provo ad eseguirla mi da il seguente errore:

    Errore N.-2147217904 - La procedura o funzione 'SP_Insert_Modifica_Report' prevede il parametro '@DataFine', che non è stato specificato.

    ma come potete notare il parametro è ben definito.
    sto sbattendo su questo errore da un paio di giorni, please help me!!Thanks
    Ultima modifica di MItaly; 14-05-2014 a 00:28 Motivo: Tag CODE

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.