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

Gravando no meu primeiro banco de dados


Daltro

Pergunta

Caros,

Estou desenvolvendo minha primeira aplicação VB6.

Minha aplicação conversa com um CLP industrial e precisa gravar dados simples em um banco de dados de apenas 09 campos.

Montei meu banco de dados com o nome SATLESS e dentro dele tem uma tabela com o nome SATELITES, nesta tabela existem os campos SATELITE, POCO0, POCO1, POCO2, POCO3, POCO4, POCO5, POCO6 e POCO7.

Estou tentando gravar neste banco de dados o que eu digito em um textbox e o código ficou assim :

Private Sub Command26_Click()
Dim cnnComando As New ADODB.Command
   
   On Error GoTo errGravacao
   If Text1.Text = Empty Then
      MsgBox "Nome do poço está vazio !", vbExclamation + vbOKOnly + vbSystemModal, "Erro"
      Exit Sub
   End If

Screen.MousePointer = vbHourglass

With cnnComando
    .ActiveConnection = cnnSatless
    .CommandType = adCmdText
    If vInclusao Then
       .CommandText = "Insert into Satelites " & "(Poco0) Values ('" & Text1.Text & "');"
       
    Else
       .CommandText = "UPDATE Satelites Set (Poco_00) = Text1.text"
    End If
    .Execute
End With

MsgBox "Gravação concluida com sucesso.", vbApplicationModal + vbInformation + vbOKOnly, "Gravacao OK"

Saida:
   Screen.MousePointer = vbDefault
   Set cnnComando = Nothing
   Exit Sub

errGravacao:
   With Err
      If .Number <> 0 Then
         MsgBox "Houve um erro durante a gravacao dos dados na tabela", vbExclamation + vbOKOnly + vbApplicationModal, "Erro"
         .Number = 0
         GoTo Saida
      End If
   End With
End Sub

Quando aperto o botão o sistema dá a mensagem programada "Houve um erro durante a gravação dos dados na tabela" .

Será que alguém poderia me dizer porque ???

Desde já agradeço.

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

daltro, comente ou apague a linha On Error GoTo errGravacao (so pra ver o problema, depois pode por de novo) e tente gravar de novo.

quando der erro, ai ele deve mostrar a verdadeira mensagem de erro. então poste ela ai pra gente saber do q se trata.

outra coisa, não faca update sem where, senao você vai atualizar todas as linhas do banco de dados.

Link para o comentário
Compartilhar em outros sites

  • 0
Esses comandos de Update e Insert em parecem meio estranhos...

Para Insert eu uso de forma que fica assim:

"Insert into Satelites " & "(Poco0) Values ('" & Text1.Text & "')"

E para o Update:

"UPDATE Satelites Set Poco_00 = '" & Text1.text & "'"

Marco, a sua versão do INSERT pareceu-me igual a que eu estava usando... mas realmente a versão do UPDATE está bem diferente e agora a mensagem mudou...

" Gravação concluída com sucesso "

Só um detalhe : dentro do banco de dados, quando abro com o acess, não tem nada gravado !!!!

daltro, comente ou apague a linha On Error GoTo errGravacao (so pra ver o problema, depois pode por de novo) e tente gravar de novo.

quando der erro, ai ele deve mostrar a verdadeira mensagem de erro. então poste ela ai pra gente saber do q se trata.

outra coisa, não faca update sem where, senao você vai atualizar todas as linhas do banco de dados.

Caro Kuroi,

Acho que "comentar" a linha é colocar ' na frente, certo ???

Bem... se for isso eu fiz e deu a seguinte mensagem :

Run-time error '-2147217900(80040e14)':

Syntax error in UPDATE statement

Mas depois que eu fiz a correção que o Marco sugeriu, o erro sumiu, mas não grava nada no banco de dados.

Mais alguma sugestão ??

Link para o comentário
Compartilhar em outros sites

  • 0
O Insert é quase igual. Só o ponto e vírgula de diferente mesmo.

Por ser que o seu commandtext esteja sendo executado sem as aspas, uma vez que as aspas estão lá para identificar o comando apenas. Tente colocar aspas duplas.

Oi... eu coloquei as aspas duplas mas quando compilo dá a seguinte mensagem :

Compile error:

Expected: end of statement

E a palavra INSERT fica em destaque ! ????

daltro, já existe algum dado na sua tabela (ela tem algum registro??)??

Não ela está em branco...

Editado por Daltro
Link para o comentário
Compartilhar em outros sites

  • 0

Realmente as aspas duplas não funcionam.

Daltro, eu reproduzi o seu caso aqui e deu certo. Tanto para o INSERT, quanto para o UPDATE.

Eu usei um form com um botao e uma textbox, criei um banco com a tabela satelites e os campo spoco0 e poco_00. Para em conectar, criei uma DSN.

O que seria esse vInclusão?

Para inserir os dados, você insere no campo poco0 e para altera-los você altera o campo poco_00. Está correto?

Mande o seu código inteiro pra gente dar uma olhada. Se ele for muito grande, pode mandar pro meu email, se quiser.

Link para o comentário
Compartilhar em outros sites

  • 0
Realmente as aspas duplas não funcionam.

Daltro, eu reproduzi o seu caso aqui e deu certo. Tanto para o INSERT, quanto para o UPDATE.

Eu usei um form com um botao e uma textbox, criei um banco com a tabela satelites e os campo spoco0 e poco_00. Para em conectar, criei uma DSN.

O que seria esse vInclusão?

Para inserir os dados, você insere no campo poco0 e para altera-los você altera o campo poco_00. Está correto?

Mande o seu código inteiro pra gente dar uma olhada. Se ele for muito grande, pode mandar pro meu email, se quiser.

Olá Marco,

Segue via e-mail pelo seu hotmail.

Desde já agradeço.

Editado por Daltro
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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...