Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
blck

Ajuda num INSERT

Recommended Posts

blck

Boas Povo... nao sou um gajo que vem cá muito postar mas consulto o site várias vezes e agora tou a precisar aqui de uma ajuda...

É o seguinte construí uma tree de CheckBoxes que tem o ID de uns Menus que estao guardados na BD... Se o utilizador tiver acesso aquele menu a checkbox esta a true senao false... até aqui tudo muito simples.

A minha ideia foi a seguinte colocar dentro de um array as checkboxes que ficaram a true e ao carregar no butao

ele vai apagar os MENUs todos e tornar a construir a árvore mas colocando as checkboxes a true apenas na Base de Dados....Isto tá metade feito no Insert está a dar este erro:

The variable name '@RefIDMenus' has already been declared. Variable names must be unique within a query batch or stored procedure.

O codigo é o seguinte

 using (var connection = new SqlConnection(ConnectionString.GetUsingHostname()))
        using (var sqlCommand = new SqlCommand("INSERT INTO MenusUtilizadores(RefIDMenus,RefIDUtilizadores) VALUES (@RefIDMenus,@RefIDUtilizadores)", connection) { CommandType = CommandType.Text })
        {
           foreach (var contador in sepator)
            {
                connection.Open();
                sqlCommand.Parameters.Add("@RefIDMenus", contador);
                sqlCommand.Parameters.AddWithValue("@RefIDUtilizadores", (DropDownList2.SelectedValue));
                sqlCommand.ExecuteNonQuery();
                connection.Close();
              }
        }

Eu sei que isto e um bocado confusao mas se tiverem duvidas chutem :thumbsup:

Share this post


Link to post
Share on other sites
bruno1234

Estás a acrescentar em ciclo sempre o mesmo parametro ao teu comando.

O ideal seria mandares tudo de uma vez para só fazeres um acesso á bd.

Com Sql Server 2008 podes passar tabelas como parametro, numa versão anterior podes passar por exemplo valores separados por virgulas.

Ou então, mete o foreach depois do 1º using.


Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.