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
Curtir tópico
+ 0
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:
Faça essa modificação e poste aqui os resultados.
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
Clique aqui para fazer login e interagir na Comunidade :)