Problemas com DataSet ( Erro: Must declare the scalar variable)

19/05/2012

0

Pessoal, quando executo esse código abaixo me retorna Erro: Must declare the scalar variable. Vocês podem me dizer o que eu estou errando?

try
{
   SqlConnection conn = new SqlConnection(@Server=.\SQLEXPRESS;Database=Northwind;User ID=sa;Password=milao);

   string sql = SELECT ProductID, ProductName FROM Products;

   SqlCommand cmd = new SqlCommand(sql, conn);

   DataSet ds = new DataSet();

   SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);

   adapter.InsertCommand = new SqlCommand(INSERT INTO Products(ProductName) VALUES(@Produto), conn);

   adapter.InsertCommand.Parameters.Add(@Produtos, SqlDbType.NVarChar, 40, ProductName);

   adapter.Fill(ds, Produtos);

   DataRow linha = ds.Tables[Produtos].NewRow();
                linha[ProductName] = Novo Produto;
                ds.Tables[Produtos].Rows.Add(linha);

   int i = adapter.Update(ds, Produtos);
     if (i > 0)
     {
        lblMensagem.Text = Registro inserido com sucesso;
     }
           
   }
   catch (SqlException)
   {
        lblException.Text = Erro de SQL;
   }
   catch (InvalidOperationException)
   {
        lblException.Text = Comando Inválido;
   }
   catch (Exception ex)
   {
        lblException.Text = Erro ao executar o código  + ex;
   }
           
        }

Renato Castro

Renato Castro

Responder

Posts

20/05/2012

Joel Rodrigues

Boa tarde, Renato.
Aparentemente, você declarou o parâmetro @Produto e está tentando passar o valor para ele usando o nome ´´@ProdutoS´´. Ou seja, no seguinte bloco de código, na segunda linha, você deve substituir @Produtos (no plural) por @Produto:
adapter.InsertCommand = new SqlCommand(INSERT INTO Products(ProductName) VALUES(@Produto), conn);
adapter.InsertCommand.Parameters.Add(@Produtos, SqlDbType.NVarChar, 40, ProductName);


Faça essa modificação e poste aqui os resultados.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar