Select con StoredProcedure???????????????????????????????????????

lunedì 24 novembre 2008 - 00.07

86Marco Profilo | Expert

Salve, vlevo una informazione, per la mia applicazione aspx, sto creando una sezione dove inserisco delle news.
Il tutto lo faccio, con una stored procedure per l'inserimento dei dati in un database.
Ora devo creare una pagina per la correzione eventuale di una news:
quindi ho bisogno di far selezionare l'id della news per poi correggerla etc etc.
Riesco a farlo tramite codice nel senso che non uso una StoredProcedure per la select in questo modo

Dim stringa As String = "Select idnews, DataInserimento, Oggetto, Descrizione, from News where idnews=" & TextBox1.Text
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("IntranetConnectionString1").ToString)
Dim cmd As New SqlCommand(stringa, con)
Dim reader As SqlDataReader

con.Open()
reader = cmd.ExecuteReader
If reader.HasRows = False Then
Response.Write("Nessun dato da selezionare")
Else
Do While reader.Read
TextBox2.Text = reader("DataInserimento")
TextBox3.Text = reader("Oggetto")
FreeTextBox1.Text = reader("Descrizione")

Loop

End If
reader.Close()
con.Close()

Il tutto funziona alla perfezione, ma se io volessi selezionare dati da una sotred procedure, come potrei fare?
Avete documentazioni in merito?
Quancluno mi ha cortesemente indicato su latri thread questo link http://www.asp.net/learn/videos/ che trovo moollto interessante, non esistono questi tipi di video per lavorare con le storedProcedure?
Grazie spero che possiate anche in questo caso aiutarmi :)

motogpdesmo16 Profilo | Senior Member

Ciao. Questa domanda era più da area SQL SERVER (mi auguro ti stia riferendo alle SP di questo RDBMS) piuttosto che da ASP.NET.

Per quanto riguarda il tuo problema, per quelle che sono le mie conoscenze, la STORED PROCEDURE non viene usata per ottenere un valore, bensì è solo una procedura (come le SUB di vb) che serve per effettuare operazioni sulle tabelle di un database. Da quello che hai descritto riterrei più opportuna la creazione di una TABLE FUNCTION (In SQL SERVER 2005 la trovi sotto la voce del tuo database Programmabilità/Funzioni/Funzioni valutate la livello di tabella) parallelamente alla STORED PROCEDURE. Mi spiego meglio: la stored procedure l'hai creata con dei parametri ad esempio "datanews" e "testonews". Aggiungi due parametri in più: "id_news" di tipo int e "tipo" di tipo char(1) o bit o int..vedi tu... Se si tratta di un inserimento passerai id_news = 0 (presumo che l'id di ogni singola news sia generato automaticamente e quindi sia una colonna identità) e tipo = "I" (I = Insert/Inserimento); se invece si tratta di una modifica, id_news = id della news che riesci a recuperare dal codice della pagina .vb o .cs che hai scritto e tipo = "U" (U = Update/Modifica). Ovviamente predisporrai il codice affinchè se si passa come parametro "I" venga effettuata l'operazione di INSERT mentre se si passa come parametro "U" venga effettuata l'operazione di Update sul record che ha come Id quello passato come parametro.

Parallelamente alla SP, come ti dicevo, crea una TABLE FUNCTION alla quale passerai come parametro solo l'ID_news e ti restituirà in una tabella da te definita i campi che preferisci.

Fammi sapere cosa ne pensi e se dovessi avere altri dubbi chiedi pure.
Ciao

p.s.: per i moderatori. Valutate se è il caso di spostare questo topic nell'apposita area.

86Marco Profilo | Expert

bhe provero eti faro sapere ma credi di aver capito il tuo consiglio :).
Per ciò che riguarda la prima osservazione mi riferisco alle stored procedure che è possibile creare con i database mdf, in visual web developer per pagine asp.net :-). A quello mi riferisco

motogpdesmo16 Profilo | Senior Member

Sinceramente non so dirtelo se è possibile creare SP con VWD2008 poichè uso sempre il Sql Server Management Studio per crearle. Ma, teoricamente, se prepari il codice T-SQL da inviare al server, l'esecuzione può avvenire anche lanciando una pagina ASPX di appoggio.

86Marco Profilo | Expert

ok... :)
non è che saresti cosi gentile da dare uno sguardo anche a quest altro thread?
Grazie mille
http://www.dotnethell.it/forum/messages.aspx?ThreadID=26883
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5