Store procedure all'interno di un form

domenica 04 aprile 2010 - 15.56

Mau67 Profilo | Expert

Buona pasqua a tutti, ho un applicazione in visual studio 2008, mi appoggio a delle tabelle in access e ho la necessità di aggiornare la tabella delle banche ogni qual volta c'è un aggiornamento.

Con il database in Sql Server 2005 avevo costruito questa Store Procedure:

ALTER PROCEDURE dbo.proc_BancaUpsert
@Abi varchar(5)
, @Cab varchar(5)
, @IstitutoCredito varchar(50)
, @Agenzia varchar(50)
, @IndirizzoIstituto varchar(50)
, @LuogoIstituto varchar(50)
, @Cap varchar(5)
, @Prov varchar(5)
, @DataAgg smalldatetime
AS
BEGIN

SET NOCOUNT ON;

IF NOT EXISTS(SELECT * FROM dbo.Banca WHERE Abi = @Abi AND Cab = @Cab)
BEGIN

-- insert

INSERT INTO dbo.Banca (Abi, Cab, IstitutoCredito, Agenzia, IndirizzoIstituto, LuogoIstituto, Cap, Prov, DataAgg)
VALUES (@Abi, @Cab, @IstitutoCredito, @Agenzia, @IndirizzoIstituto, @LuogoIstituto, @Cap, @Prov, @DataAgg)

END
ELSE
BEGIN

UPDATE dbo.Banca
SET IstitutoCredito = @IstitutoCredito
, Agenzia = @Agenzia
, IndirizzoIstituto = @IndirizzoIstituto
, LuogoIstituto = @LuogoIstituto
, Cap = @Cap
, Prov = @Prov
, DataAgg = @DataAgg
WHERE
Abi = @Abi
AND Cab = @Cab

END

END


Adesso volevo ottenere lo stesso risultato inserendo un codice uguale o simile all'interno di un winform
in questo punto:

Using objCmd As New SqlCommand("dbo.proc_BancaUpsert", Connection)

Si può fare? se si come?

Grazie e ancora buona pasqua

Ciao
Mau67

alx_81 Profilo | Guru

>Buona pasqua a tutti, ho un applicazione in visual studio 2008,
>mi appoggio a delle tabelle in access e ho la necessità di aggiornare
>la tabella delle banche ogni qual volta c'è un aggiornamento.
Ciao e auguri anche a te!

>Si può fare? se si come?
secondo me è meglio usare .net, con ado.net. puoi fare prima la select, ed in base al risultato lanciare una update o una insert, il tutto creando una transazione applicativa, sempre con ado.net.


>Grazie e ancora buona pasqua
di nulla!
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Mau67 Profilo | Expert

Scusa ma come creo una transazione applicativa? non lo mai fatto e non sò da dove cominciare.

Se saresti così gentile da dirmi come.

Grazie
Mau67

alx_81 Profilo | Guru

>Scusa ma come creo una transazione applicativa? non lo mai fatto
>e non sò da dove cominciare.
dai una letta qui
http://msdn.microsoft.com/it-it/library/system.data.sqlclient.sqltransaction.aspx
--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Mau67 Profilo | Expert

Lancio la procedura e mi da un errore qui:

Dim sConn As String
sConn = "File Name=Server.udl"
Dim Connection As New OleDbConnection(sConn) <<<<<<<<<QUI mi da un problema
Dim sr As StreamReader = File.OpenText(sConn)
sConn = sr.ReadLine()


<<<<<ArgumentException non è stata gestita
Impossibile caricare il file UDL.

non riesco a vedere l'errore.
Mau67

alx_81 Profilo | Guru

>non riesco a vedere l'errore.
utilizza una normale connection string presa da questo utilissimo sito:
http://www.connectionstrings.com

--

Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

Mau67 Profilo | Expert

Ok grazie risolto

Ciao
Mau67
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5