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

DataGrid (Inserir, Actualizar, Gravar...)

Discussão em 'Programação' iniciada por Chipy, 7 de Agosto de 2006. (Respostas: 2; Visualizações: 1666)

  1. Chipy

    Chipy Power Member

    Boas,

    É o seguinte eu tenho uma DataGrid que me mostra os campos de uma tabela...eu queria que desse para: Inserir um novo registo, Alterar um registo, Apagar um registo e Gravar as alterações feitas...Mas já tentei de várias maneiras e não consigo :(
    Estou a fazer da seguinte forma(isto é só um bocado do código):


    If (liga.State = ConnectionState.Open) Then
    MessageBox.Show("Ligacao efectuada com exito")
    Dim cmd As SqlCommand = New SqlCommand
    cmd.CommandText = "Select name From sysobjects Where type='U'"
    cmd.Connection = liga

    daAdaptor.SelectCommand = cmd
    daAdaptor.Fill(dsSet, "txt_bd.text")
    DataG.DataSource = dsSet.Tables("txt_bd.text")
    'Aqui é onde preencho a datagrid

    If dsSet.HasChanges Then 'Aqui é onde eu queria actualizar a DataGrid
    cmdBld = New SqlCommandBuilder(daAdaptor)
    Dim alteracoes As DataSet = dsSet.GetChanges
    bAdapter.Update(alteracoes)
    dsSet.AcceptChanges()
    End If
    End If


    Estou a utilizar o Vb.net2005 com ligação a Sql Studio Express 2005

    Alguem me podia dar uma ajuda???
     
  2. Nastase

    Nastase Power Member

    Não sendo um perito em VB ( [Opinião Pessoal = ON] nunca gostei, não gosto e nunca hei de gostar, blherk [Opinião Pessoal = OFF] ) mas mesmo assim utilizando o VB.Net a mesma API que o C#, acho que deves ter um método para definires o DataSet que está "binded", ie, 'ligado' ao grid. Talvez se procurares por qualquer coisa como DataGrig.bindSource ou bindDataSet, não me recordo bem, tenhas mais sorte. Ao fazers o bind, quando alteras o DataSet, o Grid é automaticamente actualizado.

    Desculpa ser tão vago mas não pego em .Net há algum tempo.
     
  3. Chipy

    Chipy Power Member

    Ok, já consegui resolver, aqui vai a resolução:


    Dim stra As String = String.Format(DataG.CurrentCell.Value)
    If (bSet Is Nothing) = False Then
    bAdapter.Update(bSet, stra)
    bSet.AcceptChanges()
    MessageBox.Show("O Registo foi alterado com sucesso!")
    End If


    Isto é só a função que grava...A DatasSource, DataAdapter, DataSet etc... Já foram criados anteriormente
     

Partilhar esta Página