SUBSTITUIR DADOS DO WHERE POR PARAMETROS

ROGERIOAZEVEDO 29/08/2012 10:35:27
#408841
Bom dia.

Galera estou com uma aplicação que preciso editar todos os meses . Faz um tempo que dei uma pesquisada e achei uma solução com o uso de TimePicker, mas não estou conseguindo utilizar os parametros em uma sintaxe super simples está retornando um erro, para testar apenas tentei trocar as datas do Where por parametros, logo abaixo coloquei as datas como valores desses parametros. Alguem pode me dar uma mão? Desde já agradeço.

ERRO
Erro : Must declare the scalar variable [Ô]@data1[Ô].


CODIGO

private void Carregar()
{

try
{
//Cria um DataTable
DataTable tabela = new DataTable();

//Define a String de conexão com o SQL Server
string strConn = [Ô]Server = MEUIP; Initial Catalog=BANCO; Integrated Security = True[Ô];

//Abre a conexão
SqlConnection conn = new SqlConnection(strConn);

//Cria um DataAdapter selecionando os Dados de uma Tabela do SQL Server
SqlDataAdapter da = new SqlDataAdapter([Ô]SELECT Filial, Sum(Vendas) as vendas[Ô]
+ [Ô] FROM Vendometro[Ô]
+ [Ô] WHERE data BETWEEN @data1 AND @data2[Ô]
+ [Ô] GROUP BY Filial[Ô]
+ [Ô] ORDER BY Filial[Ô], conn);


SqlCommand cmd = new SqlCommand(strConn, conn);
cmd.Parameters.Add([Ô]@data1[Ô], SqlDbType.SmallDateTime);
cmd.Parameters[[Ô]@data1[Ô]].Value = [Ô][ô]2012/08/01 00:00:00[ô][Ô];
cmd.Parameters.Add([Ô]@data2[Ô], SqlDbType.SmallDateTime);
cmd.Parameters[[Ô]@data2[Ô]].Value = [Ô][ô]2012/08/31 23:59:59[ô][Ô];


//Preenche o DataTable
da.Fill(tabela);

//Exibe os dados no DataGridView
dvgVendas.DataSource = tabela.DefaultView;
this.dvgVendas.Columns[[Ô]Vendas[Ô]].DefaultCellStyle.Format = [Ô]c[Ô];
this.dvgVendas.Columns[[Ô]Vendas[Ô]].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dvgVendas.Columns[[Ô]Filial[Ô]].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dvgVendas.Columns[[Ô]Filial[Ô]].Width = 50;


}
catch (Exception ex)
{
MessageBox.Show([Ô]Erro : [Ô] + ex.Message);
}

}
ROGERIOAZEVEDO 29/08/2012 11:48:33
#408854
Achei a solução, refiz algumas partes do código.

private void Carregar()
{

try
{
//Define a String de conexão com o SQL Server
string strConn = [Ô]Server = MEUIP; Initial Catalog=MEUBANCO; Integrated Security = True[Ô];

//Abre a conexão
SqlConnection conn = new SqlConnection(strConn);

//Cria um DataAdapter selecionando os Dados de uma Tabela do SQL Server
//SqlDataAdapter da = new SqlDataAdapter([Ô]SELECT Filial, Sum(Vendas) as vendas[Ô]

SqlCommand cmd = new SqlCommand([Ô]SELECT Filial, Sum(Vendas) as vendas[Ô]
+ [Ô] FROM Vendometro[Ô]
+ [Ô] WHERE data BETWEEN @data1 AND @data2[Ô]
+ [Ô] GROUP BY Filial[Ô]
+ [Ô] ORDER BY Filial[Ô], conn);

SqlDataAdapter da = new SqlDataAdapter (cmd);

cmd.Parameters.Add([Ô]@data1[Ô], SqlDbType.SmallDateTime);
cmd.Parameters[[Ô]@data1[Ô]].Value = [Ô]2012/08/01 00:00:00[Ô];

cmd.Parameters.Add([Ô]@data2[Ô], SqlDbType.SmallDateTime);
cmd.Parameters[[Ô]@data2[Ô]].Value = [Ô]2012/08/31 23:59:59[Ô];

//Cria um DataTable
DataTable tabela = new DataTable();

//Preenche o DataTable
da.Fill(tabela);

//Exibe os dados no DataGridView
dvgVendas.DataSource = tabela.DefaultView;
this.dvgVendas.Columns[[Ô]Vendas[Ô]].DefaultCellStyle.Format = [Ô]c[Ô];
this.dvgVendas.Columns[[Ô]Vendas[Ô]].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dvgVendas.Columns[[Ô]Filial[Ô]].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dvgVendas.Columns[[Ô]Filial[Ô]].Width = 50;

DataSet ds = new DataSet();
da.Fill(ds);

DataView firstView = new DataView(ds.Tables[0]);
chart1.Series[0].Points.DataBindXY(firstView, [Ô]Filial[Ô], firstView, [Ô]Vendas[Ô]);


}
catch (Exception ex)
{
MessageBox.Show([Ô]Erro : [Ô] + ex.Message);
}

}
Tópico encerrado , respostas não são mais permitidas