SirSmart Postado Abril 14, 2006 Denunciar Share Postado Abril 14, 2006 Galera alguém poderia me dar uma força.....Gostaria de saber como eu faço pra fazer um update nos meus dados que estão mostrando no meu datagrid... Estou deixando o cara alterar os registros na tela no meu datagrid, porem não sei como dar um update no banco ...Como faço isso ???Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 14, 2006 Denunciar Share Postado Abril 14, 2006 Você tem que chamar o método Update do seu DataAdapter para que ele realize as mudanças no banco. Sendo que eu não recomendaria fazer isso ao editar na DataGrid. Isso porque não encontrei um evento que seja executado quando um campo do registro é alterado (no DataGridView, do VS 2005, já existe um evento para isso) e também porque é muito arriscado deixar o usuário mudar os dados ali sem um tratamento prévio (se bem que isso possa ser feito na DataGrid também, mas não é muito simples).Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 SirSmart Postado Abril 14, 2006 Autor Denunciar Share Postado Abril 14, 2006 Cara me de uma idéia então:Eu estou jogando as informações no grid através de um metodo que eu criei, porem para eu salvar da forma que quero, não consigo, pois não consigo enxergar meu dataset pois ele está em outro método.Como eu posso fazer isso?? Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 14, 2006 Denunciar Share Postado Abril 14, 2006 Como você joga os dados na grid? É através da propriedade DataSource ou pelo método SetDataBinding? Em qualquer um dos dois casos, você tem acesso a sua DataTable (que por sua vez tem a acesso ao respectivo DataSet) ou diretamente ao seu DataSet (vai depender de como você define) através da propriedade DataSource da grade.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 SirSmart Postado Abril 15, 2006 Autor Denunciar Share Postado Abril 15, 2006 Então cara, eu quero fazer um update, mas está me dando uma mesagem que eu preciso usar o updatecommand. Para que ele serve e como eu uso ele??Obrigado Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 15, 2006 Denunciar Share Postado Abril 15, 2006 O UpdateCommand no caso é um objeto OleDbCommand contendo a SQL que atualiza a tabela. Você pode tentar utilizar um OledbCommandBuilder para que esta SQL seja gerada automaticamente, mas nem sempre isso é possível. Neste caso, você teria que fazer a SQL manualmente e preencher os parâmetros com os valores dos campos. Mas, aí é que entra aquele problema que eu te disse lá no meu primeiro post, que é não haver um evento para quando o usuário termina de editar uma célula. Entendeu? Como você vai saber quando deve fazer a alteração do registro? A não ser que você tenha um botão ou algo do tipo para que o usuário pressione confirmando a alteração.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest - SirSmart - Postado Abril 15, 2006 Denunciar Share Postado Abril 15, 2006 Na verdade é isso mesmo, eu terei um botão para o usuário clicar depois que fizer a alteração....Vou fazer na mão mesmo....Obrigado pelas informações e ajudaAbraço Link para o comentário Compartilhar em outros sites More sharing options...
0 Graymalkin Postado Abril 15, 2006 Denunciar Share Postado Abril 15, 2006 Se você vai ter um botão para confirmar, então você pode fazer isso aqui: Dim dt As DataTable = dg.DataSource Dim cmd As New OleDb.OleDbCommand("UPDATE tabela SET Nome=? WHERE Código=?", cn) cmd.Parameters.Add("Nome", OleDb.OleDbType.Char) cmd.Parameters.Add("Código", OleDb.OleDbType.Integer) For Each registro As DataRow In dt.Rows If registro.RowState = DataRowState.Modified Then cmd.Parameters("Código").Value = registro("Código") cmd.Parameters("Nome").Value = registro("Nome") cmd.ExecuteNonQuery() registro.AcceptChanges() End If NextNote que "dg" é a DataGrid. O código acima irá atualizar todos os registros da DataTable que tenham sido modificados. Observe que você vai precisar mudar a SQL e os parâmetros.Abraços,Graymalkin Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
SirSmart
Galera alguém poderia me dar uma força.....
Gostaria de saber como eu faço pra fazer um update nos meus dados que estão mostrando no meu datagrid... Estou deixando o cara alterar os registros na tela no meu datagrid, porem não sei como dar um update no banco ...
Como faço isso ???
Obrigado
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados