Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Utilizzo di store procedure di sql server con windows form
lunedì 04 settembre 2006 - 11.39
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
lun 4 set 2006 - 11:39
Giorno a tutti ,
sto gestendo un db sql server e ho necessita dopo aver salvato un nuovo record in una tabella che mi restituisca l'id
del record ( che e un contatore)
mi hanno consigliatao di usare una store procedure ma nn me ne intendo molto ,,,
qualcuno me puo consigliare????
o dare qualche esempio su cui lavorare?
grazie
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
lun 4 set 2006 - 12:03
perfetto, mi sai anche spiegare come prendere questo dato da windows form per riutilizzarlo???
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
lun 4 set 2006 - 12:33
ci sto provando ma nn mi vien bene
hai qualche esempio da passarmi su cui mi posso rifare?
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
lun 4 set 2006 - 12:59
posto qui il codice che non mi funziona
se qualcuno trova l'errore mi faccia sapere grazie
%
Imports System.Data.SqlClient
Imports System.Data
Imports System
Public Class outparamswithacommand
Public Sub Run()
Dim MsgString As String
Dim myConnection As SqlConnection
myConnection = New SqlConnection("server=(local);Trusted_Connection=yes; database= TestLinee")
Try
Dim CreateProcCommand As SqlCommand
Dim DropProcCommand As SqlCommand
CreateProcCommand = New SqlCommand("CREATE PROCEDURE InsertPercorso @Domenico nchar(15), @Identity int OUT as INSERT INTO PercorsoStradale (Denominazione) VALUES(@Domenico)RETURN @@ROWCOUNT", myConnection)
DropProcCommand = New SqlCommand("IF EXISTS (SELECT name FROM sysobjects WHERE name = 'InsertPercorso' AND type = 'P') DROP PROCEDURE InsertPercorso", myConnection)
myConnection.Open()
DropProcCommand.ExecuteNonQuery()
CreateProcCommand.ExecuteNonQuery()
Dim myCommand As SqlCommand
myCommand = New SqlCommand("InsertPercorso", myConnection)
myCommand.CommandType = CommandType.StoredProcedure
MsgString = myCommand.Parameters("@Identity").Value.ToString()
Catch e As Exception
MsgString = e.ToString()
Finally
myConnection.Close()
End Try
MsgBox(MsgString)
End Sub
End Class
%
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
lun 4 set 2006 - 15:08
INSERT YakName VALUES ('Graz')
SELECT @@IDENTITY
metti questa query all'interno di un sqlcommand e poi fai tuacommand.executesclar (se ricordo bene) e ti ritorna il tuo indice.
altro esempio
http://www.devx.com/getHelpOn/10MinuteSolution/20550?type=kbArticle&trk=MSCP
http://www.devx.com/tips/Tip/15368?type=kbArticle&trk=MSCP
C'è solo un capitano !!!!!!
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
lun 4 set 2006 - 15:52
ora mi sono incasinato come si deve
allora ragazzi saro duro di comprendonio ma io ricomincio da capo
Allora considerando che il database si chiama "TEST"
la tabella "Percorso con due campi ID, Denominazione
Io devo inserire un nuovo record e farmi restituire l'id che e un contatore
Stiamo parlando sempre di visual basic net e sql server 2000
la store procedure e questa (prima di tutto ditemi se e corretta)
CREATE PROCEDURE InsertPercorso
@Malkav char(15),
@Identity int OUT
AS
INSERT INTO PercorsoStradale (Denominazione) VALUES(@Malkav)
SET @Identity = @@Identity
RETURN @@ROWCOUNT
poi
il codice e
dim con as new sqlconnction
dim comand as new sqlcommand
con.connectiostring = ""
comand.connnection = con
comand.commandtext = "InsertPercorso"
comand.CommandType = CommandType.StoredProcedure
ok
fino a qui c'e la posso fare
ora
com faccio a restituire il valore dell'id che lui crea al record in una variabile????
Perdonate la mia cocciutagine ma ho intenzione di capirlo una volta per tutte
Grazie
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mar 5 set 2006 - 15:22
Da quello che ho capito io la creazione in SQL della SProcedure va bene, per leggere il dato in uscita invece di lanciare in comando con la ExecuteNonQuery come fai ora, prova a lanciarlo con il comando
Val = cmd.ExecuteScalar()
..e dovrebbe restituire il valore dentro il tuo parametro.
Andy
M@LKAV
Profilo
| Junior Member
67
messaggi | Data Invio:
mar 5 set 2006 - 15:30
perfettttttooooooooooo
ora ci sono
tutto ok
grazie a tutti
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mar 5 set 2006 - 16:01
De nada
ciao
Andy
Torna su
Stanze Forum
Elenco Threads
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 !