Rieccomi!
Ciao a tutti!
Questo è il mio codice:
codice:Private Sub cmdSalva_Click() ... 'Inserisco record nel database... Set Cmd = New ADODB.Command Set pathFile = New ADODB.Parameter Set fileBinario = New ADODB.Parameter Set parLotto = New ADODB.Parameter Set Certificato = New ADODB.Parameter Cmd.ActiveConnection = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=CASTELFRIGO;Data Source=ELENA-PC\SQLEXPRESS" Cmd.CommandText = "INS_CERTIFICATO" Cmd.CommandTimeout = 15 Cmd.CommandType = adCmdStoredProc pathFile.Name = "@path_file" pathFile.Type = adWChar pathFile.Size = 100 pathFile.Value = strLink fileBinario.Name = "@file_certificato" fileBinario.Type = adBinary fileBinario.Size = 2147483647 Set fileStream = New ADODB.Stream fileStream.Type = adTypeBinary fileStream.Open fileStream.LoadFromFile strLink fileBinario.Value = fileStream.Read parLotto.Name = "@lotto" parLotto.Type = adWChar parLotto.Size = 10 parLotto.Value = strLotto Certificato.Name = "@certificato" Certificato.Type = adWChar Certificato.Size = 4 Certificato.Value = strCert Cmd.Parameters.Append pathFile Cmd.Parameters.Append fileBinario Cmd.Parameters.Append parLotto Cmd.Parameters.Append Certificato Cmd.Execute ... End Sub
Questa è la stored procedure (Sql server 2005):
codice:ALTER PROCEDURE [dbo].[INS_CERTIFICATO] -- Add the parameters for the stored procedure here (@PATH_CERTIFICATO NVARCHAR(100), @FILE_CERTIFICATO VARBINARY(MAX), @LOTTO NVARCHAR(10), @CERTIFICATO NVARCHAR(4)) AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. --SET NOCOUNT ON; -- Insert statements for procedure here DECLARE @CERCA_PATH NVARCHAR(100) SELECT @CERCA_PATH = PATH_CERTIFICATO FROM DOC_CERTIFICATI WHERE PATH_CERTIFICATO = '@PATH_CERTIFICATO' IF @CERCA_PATH = NULL BEGIN INSERT INTO DOC_CERTIFICATI (PATH_CERTIFICATO, FILE_CERTIFICATO) VALUES (@PATH_CERTIFICATO, @FILE_CERTIFICATO) END DECLARE @ID_CERTIFICATO INT SELECT @ID_CERTIFICATO = ID_CERTIFICATO FROM DOC_CERTIFICATI WHERE PATH_CERTIFICATO = '@PATH_CERTIFICATO' INSERT INTO LOTTI_CERTIFICATI (LOTTO, CERTIFICATO, ID_CERTIFICATO) VALUES (@LOTTO, @CERTIFICATO, @ID_CERTIFICATO) END
Il problema è che non inserisce alcun record nel database!!
E' un'ora che ci sono dietro per capire dove ho sbagliato...
Grazie mille in anticipo!!


Rispondi quotando
