12 messaggi dal 27 novembre 2016
Ciao a tutti. Problema stupido:
in una applicazione vb.net sto provando una query, se passo un parametro non funziona, se passo il dato esplicito invece sì. Il codice è questo:

Dep_ID = Me.DataGridView1.Rows.Item(e.RowIndex).Cells(8).Value.ToString
cognomepaz = Me.DataGridView1.Rows.Item(e.RowIndex).Cells(0).Value.ToString
Dim cpe = Mid(cognomepaz, 2, 50)
nomepaz = Me.DataGridView1.Rows.Item(e.RowIndex).Cells(1).Value.ToString
datanascitapaz = Me.DataGridView1.Rows.Item(e.RowIndex).Cells(3).Value.ToString
Dim DA As New SqlDataAdapter
Dim Ds As New DataSet

Me.DataGridView2.DataSource = Me.BindingSource1
GetData("SELECT * from Summary where Surname = cognomepaz")

In questo modo non funziona,se sostituisco cognomepaz con il dato esplicito, es. 'rossi' funziona.

Grazie :)
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao,

SELECT * from Summary where Surname = cognomepaz

Così com'è la query non potrà funzionare perché il database penserà che cognomepaz sia il nome di una colonna della tabella Summary. Non ne sa nulla del fatto che quello è il nome di una tua variabile VB.NET. Se vuoi indicare un parametro, devi usare la chiocciola.

SELECT * from Summary where Surname = @cognomepaz


Tuttavia questo non è ancora sufficiente. Finora abbiamo solo indicato che in quel punto si trova un parametro chiamato cognomepaz. Ora dobbiamo anche indicare qual è il valore di quel parametro.

Ecco un esempio completo in cui si vede la creazione del SqlCommand e l'aggiunta del valore del parametro.
Dim cmd As New SqlCommand("SELECT * from Summary where Surname = @cognomepaz")
cmd.Parameters.AddWithValue("@cognomepaz", cognomepaz)


La tua funzione GetData quindi è incompleta perché sta accettando un parametro stringa (che rappresenta la query) ma non i valori dei parametri. Adeguala di conseguenza. Per esempio potresti farle accettare un SqlCommand, in modo che tu abbia l'opportunità di aggiungere parametri come abbiamo visto qui sopra.

ciao,
Moreno
Modificato da BrightSoul il 05 marzo 2017 17.17 -

Enjoy learning and just keep making

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.