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

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