ho un problema con una stored procedur
codice:
e ho creato un metodo in VB6 che la richiama: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
ma appena provo ad eseguirla mi da il seguente errore: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
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

Rispondi quotando