Ir para conteúdo
Fórum Script Brasil
  • 0

Vb6


Guest Jéssica

Pergunta

Estou com um problema nesse código que serve para gravar os dados de um u´suário no vanco de dados no caso estou usando o access:

Private Sub GravarDados()

Dim cnnComando As New ADODB.Command

Dim vConfMsg As Integer

Dim vErro As Boolean

'Inicializa as variáveis auxiliares:

vConfMsg = vbExclamation + vbOKOnly + vbSystemModal

vErro = False

'Verifica os dados digitados:

If txtNomeUsuario.Text = Empty Then

MsgBox "O campo Nome não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If txtEndereco.Text = Empty Then

MsgBox "O campo Endereço não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If txtCidade.Text = Empty Then

MsgBox "O campo Cidade não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If txtEstado.Text = Empty Then

MsgBox "O campo Estado não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

If txtCEP.Text = Empty Then

MsgBox "O campo CEP não foi preenchido.", vConfMsg, "Erro"

vErro = True

End If

'Se aconteceu um erro de digitação, sai da sub sem gravar:

If vErro Then Exit Sub

Screen.MousePointer = vbHourglass

With cnnComando

.ActiveConnection = cnnBiblio

.CommandType = adCmdText

'Verifica a operação e cria o comando SQL correspondente:

If vInclusao Then

'Inclusão:

.CommandText = "INSERT INTO Usuarios " & _

"(CodUsuario, NomeUsuario, Endereco, Cidade, " & _

"Estado, CEP, Telefone) VALUES ('" & _

txtCodUsuario.Text & ",'" & _

txtNomeUsuario.Text & "','" & _

txtEndereco.Text & "','" & _

txtCidade.Text & "','" & _

txtEstado.Text & "','" & _

txtCEP.Text & "','" & _

txtTelefone.Text & "');"

Else

'Alteração:

.CommandText = "UPDATE Usuarios SET " & _

"NomeUsuario = '" & txtNomeUsuario.Text & "'," & _

"Endereco = '," & txtEndereco.Text & "'," & _

"Cidade = '," & txtCidade.Text & "'," & _

"Estado = '," & txtEstado.Text & "'," & _

"CEP = '," & txtCEP.Text & "'," & _

"Telefone = '," & txtTelefone.Text & "' " & _

"WHERE CodUsuario = " & txtCodUsuario.Text & ";"

End If

.Execute

End With

MsgBox "Gravação concluída com sucesso.", _

vbApplicationModal + vbInformation + vbOKOnly, _

"Gravação OK"

'Chama a sub que limpa os dados do formulário:

LimparTela

Saida:

Screen.MousePointer = vbDefault

Set cnnComando = Nothing

Exit Sub

On Error GoTo errGravacao

errGravacao:

With Err

If .Number <> 0 Then

MsgBox "Houve um erro durante a gravação dos dados na tabela.", _

vbExclamation + vbOKOnly + vbApplicationModal, "Erro"

.Number = 0

GoTo Saida

End If

End With

End Sub

A linha em vermelho é aonde está dando o erro, eu tento cadastrar um usuário no banco de dados mas ele dá um erro de sintaxe na hora de gravar o registro!!

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

sim, é porque você abre uma aspa no codigo do usuario e não fecha. o certo deve ser assim:

"INSERT INTO Usuarios " & _
"(CodUsuario, NomeUsuario, Endereco, Cidade, " & _
"Estado, CEP, Telefone) VALUES ('" & _
txtCodUsuario.Text & "','" & _
txtNomeUsuario.Text & "','" & _
txtEndereco.Text & "','" & _
txtCidade.Text & "','" & _
txtEstado.Text & "','" & _
txtCEP.Text & "','" & _
txtTelefone.Text & "')"[/code]

veja se funciona. no caso de o campo ser numerico, então tire as duas aspas

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Valeu pela dica agora funcionou, mas tá dando erro nessa função aqui:

Private Sub LimparTela()

'Chama a sub LimparDados para limpar os campos do formulário:

LimparDados

'Desabilita o botão Excluir:

Toolbar1.Buttons(3).Enabled = False

'Apaga o conteúdo do campo CodUsuario e lhe passa o foco:

txtCodUsuario.Text = Empty

txtCodUsuario.SetFocus

End Sub

Na linha em vermelho dá erro, essa função é para limpar os campos automaticamente assim que eu gravo o registro, ele chama a outra função LimparDados, que esvazia os campos, e passa o foco para o campo Código!

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Já consegui fazer funcionar, agora tá dando erro nessa parte do código aqui:

If vInclusao Then

'Inclusão:

.CommandText = "INSERT INTO Categorias " & _

"(CodCategoria, NomeCategoria) VALUES ('" & _

txtCodCategoria.Text & "','" & _

txtNomeCategoria.Text & "')"

Else

'Alteração:

.CommandText = "UPDATE Categorias SET " & _

"NomeCategoria = '" & txtNomeCategoria.Text & "'," & _

"WHERE CodCategoria = " & txtCodCategoria.Text & ";" End If

.Execute

Na hora de atualizar ele dá erro de sintaxe

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...