PDA

Visualizza la versione completa : [VB & SQL SERVER] Esecuzione StoredProcedure


ladyBlu
29-11-2002, 14:45
Buongiorno ragazzi...:ciauz:

sto effettuando operazioni su un db tramite StoredProcedure di INSERT, UPDATE e DELETE. Sulla Delete nessun problema, e sulla Insert nemmeno, almeno non su quelle monoparametriche.

Quando devo effettuare una stroredprocedure di Update su una tabella non riesco a passare i parametri da vb a sql...:master:

Signore&Signori, vi posto il codice... ditemi voi dove sbaglio...:bh:...mi rimetto alla vostra sapienza...;)


CODICE DI VB


Sub Update()

Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

cmd.ActiveConnection = miaConn

cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_AggiornaLingua ?,?"

cmd.Parameters.Append cmd.CreateParameter(, adInteger, &_
adParamInput, 4, mvarIDLingua)
cmd.Parameters.Append cmd.CreateParameter(, adVarChar, &_
adParamInputOutput, 50, mvarLingua)

Set rs = cmd.Execute

Set rs = Nothing
Set cmd = Nothing

End Sub



STORED-PROCEDURE


CREATE PROCEDURE [sp_AggiornaLingua]
(@mioIDLingua [int], @miaLingua [varchar](50))

AS

UPDATE [dbArchivio].[dbo].[tbLingue]
SET [Lingua] = @miaLingua
WHERE ([IDLingua] = @mioIDLingua)

GO



ragazzi, che cavolo c' di sbagliato???...:dh:


grazie a tutti voi per la collaborazione...:smack:

darkblOOd
29-11-2002, 15:06
Originariamente inviato da ladyBlu
Buongiorno ragazzi...:ciauz:

sto effettuando operazioni su un db tramite StoredProcedure di INSERT, UPDATE e DELETE. Sulla Delete nessun problema, e sulla Insert nemmeno, almeno non su quelle monoparametriche.

Quando devo effettuare una stroredprocedure di Update su una tabella non riesco a passare i parametri da vb a sql...:master:

Signore&Signori, vi posto il codice... ditemi voi dove sbaglio...:bh:...mi rimetto alla vostra sapienza...;)


CODICE DI VB


Sub Update()

Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

cmd.ActiveConnection = miaConn

cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_AggiornaLingue ?,?"

cmd.Parameters.Append cmd.CreateParameter(, adInteger, &_
adParamInput, 4, mvarIDLingua)
cmd.Parameters.Append cmd.CreateParameter(, adVarChar, &_
adParamInputOutput, 50, mvarLingua)

Set rs = cmd.Execute

Set rs = Nothing
Set cmd = Nothing

End Sub



STORED-PROCEDURE


CREATE PROCEDURE [sp_AggiornaLingua]
(@mioIDLingua [int], @miaLingua [varchar](50))

AS

UPDATE [dbArchivio].[dbo].[tbLingue]
SET [Lingua] = @miaLingua
WHERE ([IDLingua] = @mioIDLingua)

GO



ragazzi, che cavolo c' di sbagliato???...:dh:


grazie a tutti voi per la collaborazione...:smack:


:dott:

ladyBlu
29-11-2002, 15:08
Originariamente inviato da darkblOOd



:dott:
:stordita:...ehm... era solo un errore di digitazione(adesso lo correggo)... sul prg scritto bene... quindi il probl non quello...:master:...



...cmq, thanks dark...:smack:

vonkranz
29-11-2002, 15:15
CREATE PROCEDURE [sp_AggiornaLingua]
(@mioIDLingua [int], @miaLingua [varchar](50))

AS
BEGIN
UPDATE [dbArchivio].[dbo].[tbLingue]
SET [Lingua] = @miaLingua
WHERE ([IDLingua] = @mioIDLingua)
END


..e con questa modifica alla stored procedure?? :master:

ladyBlu
29-11-2002, 15:22
Originariamente inviato da vonkranz


CREATE PROCEDURE [sp_AggiornaLingua]
(@mioIDLingua [int], @miaLingua [varchar](50))

AS
BEGIN
UPDATE [dbArchivio].[dbo].[tbLingue]
SET [Lingua] = @miaLingua
WHERE ([IDLingua] = @mioIDLingua)
END


..e con questa modifica alla stored procedure?? :master:

"nessun valore specificato x alcuni parametri necessari"...:dh:

si genera sull'istruzione di vb: set rs = cmd.Execute


:master:

darkblOOd
29-11-2002, 15:35
ma l'execute di un command non si fa sulla connection?

vonkranz
29-11-2002, 15:36
Originariamente inviato da ladyBlu
CODICE DI VB


Sub Update()

Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset

cmd.ActiveConnection = miaConn

cmd.CommandType = adCmdStoredProc
cmd.CommandText = "sp_AggiornaLingua ?,?"

cmd.Parameters.Append cmd.CreateParameter(, adInteger, &_
adParamInput, 4, mvarIDLingua)
cmd.Parameters.Append cmd.CreateParameter(, adVarChar, &_
adParamInputOutput , 50, mvarLingua)

Set rs = cmd.Execute

Set rs = Nothing
Set cmd = Nothing

End Sub



:dott:....e mettere...adParamInput

ladyBlu
29-11-2002, 15:45
calma calma... ragazzi, non ci agitiamo...;)

funziona... io e la mia collega siamo grandi...:metallica

ecco il codice di VB funzianante:


Sub Update()
Dim cmd As New ADODB.Command

cmd.ActiveConnection = miaConn
cmd.CommandText = "Exec sp_AggiornaLingua " & mvarIDLingua & _
",""" & mvarLingua & """"

cmd.Execute
Set cmd = Nothing

End Sub


pensate che modificando il nome della StoredProcedure e delle variabili all'interno della stringa del CommandText, questo stesso codice funziona perfettamente anche per Delete e Add... non fantastico?!...:D



amici, come sempre vi ringrazion tantissimo... siete sempre disponibili...:smack:

darkblOOd
29-11-2002, 15:48
Originariamente inviato da ladyBlu
funziona... io e la mia collega siamo grandi...:metallica

TZE! ingrata, ti ho detto io che dovevi associare il command alla connection :dott:











:D:D

ladyBlu
29-11-2002, 15:49
Originariamente inviato da darkblOOd

TZE! ingrata, ti ho detto io che dovevi associare il command alla connection :dott:


:D:D
guarda che il command era gi associato alla connection... anche nel mio primo post...:dott:

Loading