2 messaggi dal 21 ottobre 2013
Ciao a tutti,
mi trovo in difficoltà nella esecuzione di una Stored Procedure apparentemente banale...
Da una pagina asp.net che contiene questo codice vb nell'evento load di una pagina asp.net...

                Dim DataOra As DateTime = DateTime.Now()
                Dim Sede As Integer = 1
                Dim Ti As Single = 35.5
                Dim V As Single = 12.7
                Dim W As Single = 75.9

                With SqlDataSource1
                    .InsertCommandType = SqlDataSourceCommandType.StoredProcedure
                    .InsertCommand = "Load"
                    .InsertParameters.Add("DataOra", DataOra)
                    .InsertParameters.Add("Sede", Sede)
                    .InsertParameters.Add("Ti", Ti)
                    .InsertParameters.Add("V", V)
                    .InsertParameters.Add("W", W)
                    .Insert()
                End With


... attraverso l'SQLDataSource eseguo sul database (SQL 2008) la seguente SP...

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE Load
  @DataOra DateTime,
  @Sede integer,
  @Ti float,
  @V float,
  @W float
AS
BEGIN
   SET NOCOUNT ON;

INSERT into MyTable (DataOra,Sede,Ti,V,W) VALUES (CONVERT(DateTime, @DataOra,105), CONVERT(integer,@Sede), CONVERT(float, @Ti), CONVERT(float, @V), CONVERT(float, @W))

END


Richiamando la pagina da browser mi viene restituito l'errore in oggetto (Error converting data type nvarchar to datetime)...

Ma quel che è più strano è che se la query viene eseguita dal codice vb della pagina invece che come stored procedure il tutto funziona correttamente....
Qualcuno può far luce su questo incomprensibile errore?
Grazie per la paziente risposta

PS: un ulteriore elemento... se eseguo queto codice da Localhost (IIS) su un server SQL in locale tutto funziona correttamente, senza errori, mentre l'errore salta fuori su un server e database di produzione (Aruba)...
Modificato da gino.palmia il 15 giugno 2020 16:49 -
165 messaggi dal 10 agosto 2019
potresti controllare i formati , ad esempio se invii una data in formato italiano gg/mm/yyyy e la stored si aspetta un formato mm/gg/yyyy
e la data di oggi è 15/06/2020 nel secondo formato cerchi di assegnare al quindicesimo mese il valore del giorno 06 e quindi c'è un errore di conversione,ciao
Modificato da surfernet123 il 15 giugno 2020 19:57 -
2 messaggi dal 21 ottobre 2013
Avevi ragione... è bastato cambiare il formato della data nel valore del parametro è tutto è andato a buon fine.
Grazie infinite del suggerimento...
59 messaggi dal 09 febbraio 2005
... ma perchè fai tutte quelle CONVERT nella stored se i parametri in input sono già del tipo desiderato ?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.