allcantaras 0 Denunciar mensagem Publicado 13 de Maio de 2016 Olá a todos do forum! Tenho um trabalho para entregar em vb.net e me apressei em fazer e ja está pronto! A Proposta é a seguinte: 1. Tela de Acesso contendo o tipo do Acesso (Usuário ou Administrador) 2. Se Usuário então apresentar um contador de 3 tentativas, 1 link de Esqueci minha senha. Se Administrador não apresentar contador nem esqueci minha senha. 3. Se o usuário errar 3x a senha a situação dele passa a ser BLOQUEADO e somente o Administrador poderá desbloquear. Senão se apenas esquecer e NÃO ERRAR 3x a senha ele poderá clicar em ESQUECI MINHA SENHA e recuperá-la. 4. Ao logar, abrirá um menu contendo CADASTRO DE USUÁRIO e GERENCIAMENTO DE USUÁRIOS (apenas ADM tem acesso). Consegui fazer tudo porém, no DataGridView do GERENCIAMENTO DE USUÁRIOS o professor solicitou isto: Ai é que está o problema.... um dos problemas aliás! Problemas (Acredito eu) O professor utiliza o método ADO para fazer a conexão com o Banco de dados ACCESS. E eu OleDb. Ele preenche de outra forma o DataGridView. Acho os métodos dele um pouco ultrapassados e ele faltou algumas aulas, o que fez eu ir buscar aprendizado no youtube, aprendendo de outra forma. Eu conecto com o Banco assim: E Carrego meu DataGridView Assim: Formato o DataGridView assim: Enfim... O que eu fiz Todo usuário que erra a senha 3x eu atualizo a situação no banco para BLOQUEADO. Sim, uma palavra "BLOQUEADO". Desta forma: Ao clicar no CADEADO ABERTO ele ATIVA o usuário. Ao clicar no CADEADO FECHADO ele BLOQUEIA o usuário. O que o professor quer é um checkbox que: Se SELECIONADO, BLOQUEIA o usuário. Se DESSELECIONADO, ATIVA o usuário. Em ambas a situação eu confirmaria a ação e ATUALIZARIA no banco de dados a coluna SITUAÇÃO. Não faço a mínima ideia de como fazer isto... Também uma coluna que contenha o tal lápis para edição... Eu não consegui fazer isto, pesquisei na internet e não consegui com exatidão, obtive muitos erros! Por favor, se alguém souber como posso incluir a coluna da imagem e a coluna do Checkbox e atualizar a situação no BANCO mediante a marcação deste CHECKBOX eu agradeceria muito! Um grande abraço a todos! Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
vikcch 17 Denunciar mensagem Publicado 13 de Maio de 2016 Se gravares o campo situacao com booleano (sim/não) quando fazes: dgvUsuario.DataSource = dt já te aparecem checkBox's nessa coluna, chama-lhe Bloqueado em vez de situacao... Para editar o grid e actualizar na base de dados mais simples deve ser: Variáveis do form: Private da As OleDbDataAdapter Private dt As DataTable Private conn As OleDbConnection Private connString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\BD.accdb; Persist Security Info=False;" Botão de carregar grid: conn = New OleDbConnection(connString) Dim query As String = "SELECT * FROM tabela" da = New OleDbDataAdapter(query, conn) dt = New DataTable() da.Fill(dt) DataGridView1.DataSource = dt Botão de salvar: Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(da) da.Update(dt) Quando fechares o form podes fazer dispose e close dos objectos... Mas o melhor é como fazes, fechar logo a conecção quando já não é precisa.... queres actualizar logo quando marcas/desmarcas a checkBox ou só quando carregares num botão para salvar e actualizar todos os registos? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
allcantaras 0 Denunciar mensagem Publicado 13 de Maio de 2016 (editado) Se gravares o campo situacao com booleano (sim/não) quando fazes: dgvUsuario.DataSource = dt já te aparecem checkBox's nessa coluna, chama-lhe Bloqueado em vez de situacao... Não sabia disso, vou testar! Mas o melhor é como fazes, fechar logo a conecção quando já não é precisa.... queres actualizar logo quando marcas/desmarcas a checkBox ou só quando carregares num botão para salvar e actualizar todos os registos? Só quero clicar no checkbox, depois clicar para salvar oq marquei, e atualizar na tabela o checkbox marcado ou desmarcado, entende? @EDIT Mudei a situação no Banco de dados para SIM/NÃO, mas no GRID os checkbox não apareceram... Editado 13 de Maio de 2016 por allcantaras Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
vikcch 17 Denunciar mensagem Publicado 13 de Maio de 2016 Devia ficar logo com a checkbox na coluna.... Faz em design-time então.... na propriedade Columns da datagridview clica nos 3 pontinhos e explora isso, tem lá a opção se é texto, checkbox, imagem, etc.... Tens que por a DataPropertyName com o nome do campo que está na DB... Experimentaste o codigo do meu post de cima? não gostaste? acho que é o mais facil para o que queres.... usas o UPDATE... mas se por exemplo marcares 3 para desbloquear tens que guardar numa lista ou num array os valores (true/false) e os ID's que tens que alterar... vais adicionando à lista quando clicas na checkbox da coluna... tens o evento CellContentClick que podes usar para ir adicionando à lista Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
allcantaras 0 Denunciar mensagem Publicado 13 de Maio de 2016 Mas se eu carrego o datagridview pelo banco de dados, não seria um problema inserir uma coluna a mais via design? Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Crie uma conta ou ligue-se para comentar
Só membros podem comentar
Criar nova conta
Registe para ter uma conta na nossa comunidade. É fácil!
Registar nova contaEntra
Já tem conta? Inicie sessão aqui.
Entrar Agora