Stored Procedure con Sqlcommand

mercoledì 02 maggio 2007 - 17.15

H2MARON Profilo | Junior Member

Salve a tutti ragazzi,
ho una domanda facile, facile...

ho una stored procedure che non restituisce nessuna riga ma va a fare un update il un paio di tabelle...
che metodo devo usare del mio oggetto command per eseguire tale stored procedure?...cmd.ExecuteScalar?...cmd.ExecuteNoQuery?

grazie mille
ciao
Tommaso
H2
info@tommasolanzoni.com
www.tommasolanzoni.com

Brainkiller Profilo | Guru

>ho una stored procedure che non restituisce nessuna riga ma va
>a fare un update il un paio di tabelle...
>che metodo devo usare del mio oggetto command per eseguire tale
>stored procedure?...cmd.ExecuteScalar?...cmd.ExecuteNoQuery?

cmd.ExecuteNonQuery()

L'altra (ExecuteScalar) serve quando la Query restituisce un numero, tipo SELECT COUNT(*) ecc.ecc.
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

H2MARON Profilo | Junior Member

Allora non funziona...oppure sbaglio a passare i parametri al mio Command...

questo è il mio codice:

'//mi connetto al database
Dim ConSql As New SqlClient.SqlConnection("SERVER=LocalHost;DATABASE=MioDB;USR=sa;")

'//apro la connessione
ConSql.Open()
Dim CmdSql As New SqlClient.SqlCommand("MiaStored", ConSql)
Dim ParSql As SqlClient.SqlParameter

CmdSql.CommandType = CommandType.StoredProcedure

ParSql = CmdSql.Parameters.Add("@Parametro1", Valore1)
ParSql = CmdSql.Parameters.Add("@Parametro2", Valore2)
ParSql = CmdSql.Parameters.Add("@Parametro3", Valore3)

Try
'//esegu il command
CmdSql.ExecuteNoQuery
Catch ex As Exception
MsgbBox(ex.Message)
End Try
ConSql.Close()

Ciao
E grazie...
Tommi

H2
info@tommasolanzoni.com
www.tommasolanzoni.com

Brainkiller Profilo | Guru

>Allora non funziona...oppure sbaglio a passare i parametri al
>mio Command...
>Dim ConSql As New SqlClient.SqlConnection("SERVER=LocalHost;DATABASE=MioDB;USR=sa;")

Ma stai usando VS.NET ? Allora ci sono varie cose che non mi quadrano.
La stringa di connessione io uso questo formato:

Server=localhost;Initial Catalog=miodb;UID=utente;PWD=password

>ParSql = CmdSql.Parameters.Add("@Parametro1", Valore1)

Poi per i parametri vado a specificare di che tipo sono così:

ParSql = CmdSql.Parameters.Add("@Parametro1", SqlDbType.Varchar,50)
ParSql.Value="Testo da inserire"

ecc.ecc.

> CmdSql.ExecuteNoQuery

Il metodo è CmdSql.ExecuteNonQuery e non quello che hai scritto tu (manca una n)
Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

H2MARON Profilo | Junior Member

ok ora provo...

per l' ExecuteNonQuery ho fatto un errore io nel trascriverti il codice...

comunue si! sto usando VS.NET 2003 SP1

ciao e grazie!
H2
info@tommasolanzoni.com
www.tommasolanzoni.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5