Stored procedure e combobox

lunedì 08 ottobre 2007 - 09.35

ape81 Profilo | Newbie

ciao a tutti,
e' la prima volta che scrivo in questo sito, spero di essere chiara nella spiegazione.

ho due combobox che carico da database.
dopo che l'utente effettua la selezione devo visualizzare nella form il record riferito a quella determinata selezione.

Devo creare una stored procedure che mi permetta di pescare dal database il record che desidero in funzione della selezione fatta nella combobox e quindi passare e verificare il dato selezionato nel database.

Qulcuno mi puo' suggerire la struttura di tale stored procedure.

grazie
elisa

Anonimo Profilo | Senior Member

Nel selected value memorizza la chiave primaria del record e nella stored dichiara un parametro @NomeParametro, automaticamente quando lancerai la stored dovrai passare un array di SqlParameter contenente l'elenco di tutti gli argomenti della stored.


Anonimo Profilo | Senior Member

Nel selected value memorizza la chiave primaria del record e nella stored dichiara un parametro @NomeParametro, automaticamente quando lancerai la stored dovrai passare un array di SqlParameter contenente l'elenco di tutti gli argomenti della stored.


ape81 Profilo | Newbie

grazie.
sto provando a farlo senza usare le store procedure

ma avrei un altro quesito.
ho creato una select che mi peschi i dati a seconda della selezione nel seguente modo:


Dim str As String
Dim oDRV As DataRowView

oDRV = CboxDate.SelectedItem
str = oDRV.Item(1)

'---- DA CODICE
If CboxDate.SelectedIndex = 0 Then
MessageBox.Show("error!")
Else
Dim t As String = "SELECT IssueId from Issues where Name LIKE " & str

Dim conn As New SqlClient.SqlConnection()
conn = New SqlConnection(My.Settings.SCM_v8ConnectionString)
conn.Open()

Dim objDA As New SqlClient.SqlDataAdapter(t, conn)
Dim ds As New DataSet
objDA.Fill(ds, "Issues")

il mio problema pero' e' il dato che devo pescare... in pratica e' un campo che contiene uno spazio e presumo sia questo l'errore.... in pratica l'item che mi passa e che deve essere uguale a name e' composto es: Pippo Pluto con uno spazio...
come posso fare a gestirlo???

grazie
elisa

SSUPERPIPPO Profilo | Guru


>Dim t As String = "SELECT IssueId from Issues where Name LIKE
>" & str
>
> Dim conn As New SqlClient.SqlConnection()
>conn = New SqlConnection(My.Settings.SCM_v8ConnectionString)
> conn.Open()
>
>Dim objDA As New SqlClient.SqlDataAdapter(t, conn)
> Dim ds As New DataSet
> objDA.Fill(ds, "Issues")

Ciao, ti consiglio di usare i parametri in questo modo:

dim SqlCmd as new SqlCommand

SqlCmd.CommandText="SELECT IssueId from Issues where Name LIKE @Parametro"
SqlCmd.Parameters.AddWithValue("@Parametro",str)

Dim conn As New SqlClient.SqlConnection()
conn = New SqlConnection(My.Settings.SCM_v8ConnectionString)
conn.Open()

Dim objDA As New SqlClient.SqlDataAdapter
Dim ds As New DataSet

objDA.SelectCommand = SqlCmd
objDA.Fill(ds, "Issues")

Questo è sicuramente un metodo più elegante e sicuro.

Ciao

Alessandro


http://blogs.dotnethell.it/alebadalin

Anonimo Profilo | Senior Member

Direi risposat più che egregia da parte di SSUPERPIPPO, in ogni caso il tuo problema di prima era che non usavi gli apici prima e dopo la str che concatenavi.

SELECT IssuedID FROM Issue WHERE NAME LIKE ' Pippo pluto'




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