Secondo voi dove sbaglio??
Da un listbox recupero gli X valori selezionati e li divido con una virgola
string IDProvince = "";
foreach (ListItem list in lbProvince.Items)
{
if (list.Selected)
{
IDProvince = IDProvince + ", '" + list.Value + "'";
}
}
IDProvince = IDProvince.Substring(1);
SqlParameter[] parameters = new SqlParameter[1];
parameters[0] = new SqlParameter("@IDProvince", IDProvince);
SqlCommand cmd = CreateStoreProcedureCommand("GetAnagrafica_Campagn a", connection, parameters);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
return ds;
nella mia SP
GO
ALTER PROCEDURE [dbo].[GetAnagrafica_Campagna]
@IDProvince varchar(MAX)
AS
BEGIN
SET NOCOUNT ON;
SELECT
...
FROM
Anagrafica
...
WHERE Comuni.IDProvincia in (@IDProvince)
Niente... vuoto!!
La cosa straa è che se
nel codice metto
IDProvince = "PD";
visualizzo dati
se invece metto
IDProvince = "PD,BS";
non vedo nulla
al contrario se nella SP scrivo
WHERE Comuni.IDProvincia in ('PD','BS')
funziona!!
cosa sbaglio?

Rispondi quotando
