DATAGRIDVIEW ATUALIZAR TABELA DO BANCO DE DADOS

CLEBERBALMEIDA 23/03/2015 14:12:08
#445430
Pessoal, boa tarde!

Tenho uma tabela [Ô]CadastroClientes[Ô] no banco de dados Access 2013. Nessa tabela tem os campos [Ô]CódigoCliente[Ô], tipo numeração automática, [Ô]NomeCliente[Ô], tipo texto e [Ô]Autorização[Ô] do tipo Sim/Não.

Para o administrado do sistema dar autorização ou retirar a autorização, jogo os dados dessa tabela no DataGridView e lá aparecerá as três colunas, na coluna [Ô]Autorização[Ô] aparece o checkbox para o administrador desmarcar ou marcar.

Até ai tudo bem, porém, após o administrador marcar e desmarcar todos os clientes de acordo com o desejo dele de dar ou não autorização, não cnosigo jogar essas dados marcados ou retirar as marcações da tabela do access, ou seja, não consigo atualizar a tabela access pelos dados que estão no DataGridView.

Alguem consegue enviar o código para essa atualização.

O código abaixo estou usando para jogar os dados da tabela [Ô]CadastroClientes[Ô] para o DataGridView1.

Public Sub CarregaDataGridView()
If Conexao.State = 1 Then Conexao.Close() : Conexao.Open()
Try
With Cmd : .CommandType = CommandType.Text
.CommandText = [Ô]SELECT CódigoCliente, NomeCliente, Autorização from CadastroClientes[Ô]
.Connection = Conexao
End With
With Da : .SelectCommand = Cmd : Dt = New DataTable : .Fill(Dt) : DataGridView1.DataSource = Dt : End With
Catch ex As Exception : MsgBox(ex.Message, vbCritical, Me.Text) : End Try
Conexao.Close()
End Sub
JABA 23/03/2015 14:35:31
#445431
Tente isso:

[ô]Passe sua conexão aqui.
Using con As OleDbConnection = GetConnection()
Try

Dim sql As String = [Ô]UPDATE CadastroClientes SET Autorização = @Autorização WHERE CódigoCliente = @Id[Ô]

Dim cmd As OleDbCommand = New OleDbCommand(sql, con)

con.Open()

For i As Integer = 0 To DataGridView1.Rows.Count - 1

cmd.Parameters.Clear()

cmd.Parameters.Add([Ô]@Id[Ô], OleDbType.Integer).Value = DataGridView1.Rows.Item(i).Cells(0).Value

cmd.Parameters.Add([Ô]@Autorização[Ô], OleDbType.Boolean).Value = DataGridView1.Rows.Item(i).Cells(2).Value

cmd.ExecuteNonQuery()

Next

MsgBox([Ô]Grid Salvo.[Ô], MsgBoxStyle.Information)

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

End Using

Faça seu login para responder