Query con + parametri

giovedì 07 dicembre 2006 - 21.43

jekisi Profilo | Senior Member

Salve a tutto il forum, avrei il seguente problema:
Riesco a eseguire una query del dataset
SELECT DDT, Numero, TipoDocumento, Serie, Data, Ditta, Cliente, Via, Città, Pr, Cap, Variazioneluogodestinazione, PIva, [Note], Fatturata, Fattura, Imponibile1, Iva2, TotaleDocumento, Iva3, Imponibile2, Iva4 FROM TDDT where (ddt = ?)
in questo modo

Dim cityValue As String = TextBox1.Text
TDDTTableAdapter.FillBy(AziendaleDataSet.TDDT, cityValue)

da premettere che FillBy è il nome della query.

Ma se dovrei eseguire una query di questo tipo:
Select ddt
Set Fatturata = ?
Where (ddt = ?) and (cliente = ?)

come dovrebbe diventare?

Distinti Saluti Fabio Messina

Brainkiller Profilo | Guru

>come dovrebbe diventare?

Mah, generalmente si fa uso di oggetti Sql/OleDbCommand che espongono una collection Parameters dove puoi aggiungere man mano i parametri di Query Parametriche o a Stored Procedure.

Esempio:

cmd.Parameters.Add("@Parametro",SqlDbType.VarChar,30).Value="PROVA";

Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

Cteniza Profilo | Guru

>Select ddt
>Set Fatturata = ?
>Where (ddt = ?) and (cliente = ?)
Non credo funzionerebbe, secondo me darebbe errore su qualsiasi database.
Se invece vuoi indicare che vuo impostare i parametri allora:
UPDATE mytable
SET fatturata = ?
WHERE (ddt = ?) AND (cliente = ?)

Devi aggiungere tanti parametri (al command) quanti sono i segnaposto.
Ciascun produttore per il proprio database potrebbe avere impostato particolare carattere per definire il segnaposto.
Sql ad esempio ha un segnaposto "named" prefissato da @, Postgresql ha il carattere : come segnaposto.
Il segnaposto ? è quello da utilizzare con access e con molti altri database (oledb...), in tutti questi casi è necessario appendere i parametri nello stesso ordine in cui si trovano nel comando sql.
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