Como apagar um registro de um listbox com Datasource?

17/07/2008

0

Pessoal, tenho o seguinte código:
private void tsbExcluir_Click(object sender, EventArgs e)
        {
            string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Documents and Settings\\All Users\\Documentos\\Projetos\\BMT_GERADORMASSA\\Banco de dados\\GeradorMassa.mdb";
            string strSQL = "DELETE FROM Tb_Valores WHERE valor_campo = ´" + txtValCampo.Text + "´";
            int linha;

            //cria a conexão com o banco de dados
            OleDbConnection dbConnection = new OleDbConnection(strConnection);
            //Cria o comando que starta a query
            dbConnection.Open();
            try
            {
                OleDbCommand cmdQry = new OleDbCommand(strSQL, dbConnection);
                linha = cmdQry.ExecuteNonQuery();
                if (linha != 0)
                {
                    MessageBox.Show("Exclusão realizada com sucesso\n" + linha + " registro(s) foi(ram) afetado(s)", "Confirmação", MessageBoxButtons.OK);
                    txtValCampo.Clear();
                    listBox1.Refresh();
                }
                else
                {
                    MessageBox.Show("Exclusão não realizada. Registro não encontrado\n" + linha + " registro(s) foi(ram) afetado(s)", "Confirmação", MessageBoxButtons.OK);
                }
            }


Preciso excluir um registro do banco de dados e apaga-lo da listBox. Apagá-lo do banco está funcionando perfeitamente, mas, o registro continua na listBox após a operação e só some se eu clicar no combo que link o conteúdo do listBox...

Tem como fazer a listBox apagar o registro automáticamente?

Já tentei usar o comando listBox.Item.Clear(), mas, dá uma exceção dizendo que não é possível usar o comando Clear enquanto o DataSource estiver setado e se eu dou um datasource = null o registros ficam corrompidos na hora de carregar na listBox...


Wingless

Wingless

Responder

Posts

17/07/2008

Ricardo Silva

no seu caso crio q tera que setar o DataSorce com os dados Novos...

mas ficaria mais facil se colocasse um BindingSorce... ele ja faz isso altomaticamente.

se tiver duvida em usar o bindingSorce soh posta...


Responder

18/07/2008

Wingless

Como exatamente eu uso o BindingSorce? :lol:


Responder

18/07/2008

Ricardo Silva

vc pode usar o Componente do proprio visual Studio 2005 ou 2008 que é super facil, vincula ele a tabela e pronto.. soh no arrasta e puxa

agora em C# é mais legal....
//Cria uma estancia BindingSource
BindingSource bind = new BindingSource();
//vincula a propriedade Datasorce a uma Tabela
bind.DataSource = consultar();
//vincula o bind ao ListBox
ListBox1.DataSorce = bind.DataSorce;


na duvida soh posta


Responder

18/07/2008

Wingless

Valeu.

Mas, agora não aparece nada na listbox...
Tentei colocar o valueMember, mas, com ele dá erro...


Responder

18/07/2008

Ricardo Silva

é... o meu codigo naum sei se vai dar certo... eu to numa maquina sem visual studio...

mas procura sobre BindSorce na net... que tem bastante coisa.. e é bem simples de usar...

se vc naum tiver presa...

no fim de semana eu preparo alguma coisa e posta na segunda

Blz... t+


Responder

18/07/2008

Wingless

É... eu estou com um pouco de pressa, mas, pode postar sim.
Assim se mais alguém estiver na dúvida pode usar o seu código e talves eu não consiga encontrar uma solução até segunda...


Responder

18/07/2008

Ricardo Silva

da uma olhada neste artigo....

apesar de um BindginSorce vinculado ao gridView e ser em VB pode te ajudar

http://www.macoratti.net/vbn_dgv2.htm


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar