1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Eliminar linha duma tabela da BD atravez duma Dataset

Discussão em 'Programação' iniciada por ricmrq, 13 de Março de 2008. (Respostas: 6; Visualizações: 1157)

  1. ricmrq

    ricmrq Power Member

    malta queria saber como apagar uma linha duma tabela da base de dados atravez duma dataset.

    estou a utilizar um binding navigator, ligado à dataset. ao clicar num botao, queria eliminar a tal linha atravez da dataset, ou seja, sem aceder directamente a BD. a dataset é que se encarrega de eliminar a linha na BD

    cumps
     
  2. Armadillo

    Armadillo Folding Member

    Código:
    [B]row[/B].[B]Delete[/B](); 
    table.AcceptChanges()
    
    acho que é isto, mas verifica melhor...

    cumprimentos
     
  3. ricmrq

    ricmrq Power Member

    nestum!

    este é o codigo q estou a usar:

    Dim dr As DataRow
    posicao = DataNavigator1.Position
    dr = DsGest1.Tables(tabela).Rows(posicao)
    dr.Delete()
    dr.AcceptChanges()
    GESTTERTableAdapter.Update(DsGest1)
    GESTTERTableAdapter.Adapter.AcceptChangesDuringUpdate = True

    o problema é que este código elimina a linha da dataset e do navegador, mas na BD a linha continua la!
     
  4. ricmrq

    ricmrq Power Member

    resolvido!!! a base de dados era do access 97 :P :P era esse o problema

    basta este codigo:

    posicao = DataNavigator1.Position
    DsGest1.Tables(tabela).Rows(posicao).Delete()
    GESTTERTableAdapter.Update(dataset)
     
  5. ricmrq

    ricmrq Power Member

    guardar dados

    pessoal, agora o problema é outro :P

    tenho varias textboxs ligadas a dataset. o utilizador ao mudar uma textbox e ao guardar a alteração, queria que actualizasse a base de dados sem ter que definir qual o campo que deve ser alterado!

    este é o codigo que estou a utilizar:

    Dim adapter As New OleDb.OleDbDataAdapter()
    adapter.SelectCommand = New OleDb.OleDbCommand("SELECT * FROM TABELA", con)
    con.Open()

    adapter.Fill(DataSet, "TABELA")
    adapter.AcceptChangesDuringFill = True

    adapter.Update(DataSet, "TABELA")
    adapter.AcceptChangesDuringUpdate = True

    TABELATableAdapter.Update(DataSet)
    BindingContext(DataSet).EndCurrentEdit()
    TABELATableAdapter.Update(DataSet)

    MsgBox("ok")
    con.Close()



    nao sei o que mais inventar!!! help please!
     
  6. slowman

    slowman Power Member

    Não sei se vou ajudar mas aqui vai a minha ideia.

    Pq em vez de várias textbox não usas uma DatagridView ligada a tua dataset? Datagridview.Datasource= Dataset.Table("Nome da Tabela")
    Desse modo ao apagares na Datagridview actualiza a tua dataset e vice versa. No fim ou quando queres é só fazes o update do teu OleDb.OleDbDataAdapter()..

    Cumps

    P.S Estas a atribuir de albuma forma os valores das Texbox para o teu Dataset? não encontro isso no teu código.

    RD
     
  7. joao.miguel

    joao.miguel Power Member

    Ou então fazes um databind directamente às textboxes.
     

Partilhar esta Página