Jump to content

Eliminar uma linha na base de dados atraves do datagridview


tomas_rovira
 Share

Recommended Posts

tomas_rovira

Olá,

Fiz um código para eliminar uma linha na base de dados atraves do datagridview, porém apago todos os dados. 

O que mudo no código para eliminar apenas a linha que pretendo?

            //definir a query
            string query = "DELETE FROM produtos";
            //abrir a ligação à BD
            if (a.open_connection())
            {
                //criar o comando e associar a query com a ligação através do construtor
                MySqlCommand cmd = new MySqlCommand(query, a.connection);
                if (dataGridView1.SelectedRows.Count == 0)
                {
                    MessageBox.Show("Nenhum registro selecionado", "Atenção");
                    return;
                }
                else
                    dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
                //executar o comando
                cmd.ExecuteNonQuery();
                //fechar a ligação à BD
                a.close_connection();
            }
            MessageBox.Show("Dados eliminados com sucesso");
        }
Link to comment
Share on other sites

HappyHippyHippo

bem, mas é isso que estás a dizer ao determinar que a instrução a ser executada é string query = "DELETE FROM produtos";

não estás a definir qual o registo que pretendes eliminar

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

tomas_rovira

Agora meti assim o a linha de código

"DELETE FROM produtos WHERE cod_produto=" + dataGridView1.SelectedRows

e deu-me o seguinte erro

Citação

MySql.Data.MySqlClient.MySqlException: 'You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.DataGridViewSelectedRowCollection' at line 1'

código completo:

//definir a query
            string query = "DELETE FROM produtos WHERE cod_produto=" + dataGridView1.SelectedRows;
            //abrir a ligação à BD
            if (a.open_connection())
            {
                //criar o comando e associar a query com a ligação através do construtor
                MySqlCommand cmd = new MySqlCommand(query, a.connection);
                
                //executar o comando
                cmd.ExecuteNonQuery();
                //fechar a ligação à BD
                a.close_connection();
            }
            MessageBox.Show("Dados eliminados com sucesso");
Link to comment
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
 Share

×
×
  • Create New...

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.