ciao ragazzi, sto creando una stored che mi permetta di protocollare le mail inviate in un'azienda...
mi appare un errore direi impossibile..che anche ricercandolo non lo ha mai riscontrato nessuno...l'errore è questo:
Errore server nell'applicazione '/pubblica'.
--------------------------------------------------------------------------------
String[9]: la proprietà Size ha una dimensione 0 non valida.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.InvalidOperationException: String[9]: la proprietà Size ha una dimensione 0 non valida.
Errore nel codice sorgente:
Riga 4355: param.Direction = ParameterDirection.Output
Riga 4356:
Riga 4357: comando.ExecuteNonQuery()
Riga 4358:
Riga 4359: FE_inserisci_protocollo = param.Value
File di origine: c:\inetpub\wwwroot\pubblica\App_Code\classe_interventi.vb Riga: 4357
Analisi dello stack:
[InvalidOperationException: String[9]: la proprietà Size ha una dimensione 0 non valida.]
System.Data.SqlClient.SqlParameter.Validate(Int32 index, Boolean isCommandProc) +774343
System.Data.SqlClient.SqlCommand.SetUpRPCParameters(_SqlRPC rpc, Int32 startCount, Boolean inSchema, SqlParameterCollection parameters) +120
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +1005
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +149
System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
classe_groupware.protocollo.FE_inserisci_protocollo(String data, Int32 divisione, Int32 reparto, Int32 tipologia, String mittente, String note, String scelta, Int32 id_utente) in c:\inetpub\wwwroot\pubblica\App_Code\classe_interventi.vb:4357
ASP.protocollo_ins_prot_aspx.inserisci_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\pubblica\protocollo\ins_prot.aspx:100
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746
--------------------------------------------------------------------------------
Informazioni di versione: Versione di Microsoft .NET Framework:2.0.50727.1433; Versione di ASP.NET:2.0.50727.1433
e il codice che lo genera è:
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
alter PROCEDURE FE_ins_protocollo
@data varchar(20)='',
@divisione int=0,
@reparto int=0,
@tipologia int=0,
@mittente varchar(100)='',
@note varchar(MAX)='',
@scelta int=0,
@id_utente int=0,
@stringa varchar(20) out
as
declare @divisione_nome varchar(2)
declare @reparto_nome varchar(2)
declare @protocollo_nome varchar(30)
declare @id_protocollo int
declare @anno varchar(2)
declare @protocollo_id varchar(20)
set @stringa=''
BEGIN
select @divisione_nome = sigla_divisione
from CC_divisioni
where id_cc_divisioni = @divisione
set @stringa = @stringa + @divisione_nome
select @reparto_nome = nome_reparto
from cc_reparto
where id_cc_reparto = @reparto
set @stringa = @stringa + @reparto_nome
select @protocollo_nome = protocollo
from utenti
where id_utenti = @id_utente
set @stringa = @stringa + @protocollo_nome
if @scelta=1
begin
select top(1) @id_protocollo=id
from protocolloin
order by id desc
end
else
begin
select top(1) @id_protocollo=id
from protocollo
order by id desc
end
set @id_protocollo = @id_protocollo + 1
if @id_protocollo < 10
begin
set @protocollo_id= '00000' + cast(@id_protocollo as varchar)
end
else if @id_protocollo < 100
begin
set @protocollo_id= '0000' + cast(@id_protocollo as varchar)
end
else if @id_protocollo < 1000
begin
set @protocollo_id= '000' + cast(@id_protocollo as varchar)
end
else if @id_protocollo < 10000
begin
set @protocollo_id= '00' + cast(@id_protocollo as varchar)
end
else if @id_protocollo < 100000
begin
set @protocollo_id= '0' + cast(@id_protocollo as varchar)
end
else
begin
set @protocollo_id= cast(@id_protocollo as varchar)
end
set @stringa = @stringa + @protocollo_id
declare @dataodierna as smalldatetime
set @dataodierna=getdate()
set @anno = right(cast (year(@dataodierna) as varchar),2)
set @stringa=@stringa + @anno
if @scelta=1
begin
set @stringa = @stringa + 'E'
end
else
begin
set @stringa = @stringa + 'U'
end
if @scelta = 1
begin
insert into protocolloin
(
id_protocollo,
id_utente,
id_reparto,
datains,
dataric,
mittente,
id_corrispondenza,
note,
stato,
datamod
)
values
(
@stringa,
@id_utente,
@divisione,
getdate(),
@data,
@mittente,
@tipologia,
@note,
'N',
NULL
)
end
else
begin
insert into protocollo
(
id_protocollo,
id_reparto,
id_utente,
datains,
datainv,
destinatario,
id_corrispondenza,
note,
stato,
datamod,
datastato
)
values
(
@stringa,
@divisione,
@id_utente,
getdate(),
@data,
@mittente,
@tipologia,
@note,
'N',
NULL,
NULL
)
end
END
GO
sapete darmi una mano? sono disperato!!! help me!!1