USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Erro após gravação do registro ( MySql )
MrBytes
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 25/07/2005 13:58 hs            
Boa tarde,
 
Esta dando o seguinte erro no meu programa :
 
A linha não pode ser localizada para atualização. Alguns valores podem ter sido alterados desde que ela foi lida pela última vez.
 
Isso acontece depois que gravo o registro e vou dar um rs.requery ou rs.moveMin
Estou usando MySql com ADO
estou abrindo o recordset assim
 
Public Const CONNECTION_STRING = "DRIVER={MySQL ODBC 3.51 Driver};" _
        & "SERVER=localhost;" _
        & "DATABASE=DocTelos;" _
        & "UID=root;" _
        & "PWD=qpxfs;" _
        & "OPTION=" & 1 + 2 + 8 + 32 + 2048 + 16384
Public cn As New ADODB.Connection
cn.CursorLocation = adUseClient
cn.Open CONNECTION_STRING
sSql1 = "SELECT * FROM Conteudo LIMIT 0,1000"
rsConteudo.Open sSql1, cn, adOpenDynamic, adLockOptimistic
 
segue o código
 
    If (MsgBox("Confirma a gravação ?", vbYesNo, "Confirmação")) = vbYes Then
        If sAcao = "A" Then
            rsConteudo.AddNew
        End If
        Grava_Conteudo
        rsConteudo.Update  <----  AQUI QUE DA O ERRO, SEU COMENTAR A LINHA DA ERRO NA PROXIMA LINHA
        rsConteudo.Requery
        nReg = rsConteudo.AbsolutePosition - 1
        rsConteudo.MoveMin
        sPesq = "campo05 = '" & txtCampo5.Text & "'"
        rsConteudo.Find sPesq, , adSearchForward
        Atualiza
        HabilitaBotoesNavegacao
        DesabilitaCampos
       
        GravaLog
        Exit Sub
       
    End If
Obrigado

http://vaza.me/eneiO
TÓPICO EDITADO
 
Erico
SALVADOR
BA - BRASIL
ENUNCIADA !
Postada em 25/07/2005 15:35 hs            
Meu caro,
Se vc pretende incluir no recordset talvez devesse ter criado ele no servidor (adUseServer).
Criando ele no cliente vc pode fazer a inclusão, alteração ou exclusão com comandos no servidor. Tipo :    cn.execute("insert conteudo values .....")   e logo depois usar o rsConteudo.requery.
Tenta aí pra vê se resolve.

A.Erico S.Peixoto
--------------------
Analista de Sistemas
   
MrBytes
SAO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 25/07/2005 15:43 hs            
Erico
 
Ja tinha feito este teste e o problema ainda continua
 
de qualquer forma obrigado pela tentativa

http://vaza.me/eneiO
   
TiagoAlgodas
ITABUNA
BA - BRASIL
ENUNCIADA !
Postada em 25/07/2005 15:49 hs            
Private Sub gravadados()
    Dim sql1 As String    
    sql1 = "SELECT * FROM  produto"
        rs.Open sql1
        rs.AddNew
        rs.Fields("chave").Value = txtchave.Text
        rs.Fields("descr").Value = txtdescr.Text
        rs.Fields("qtde").Value = txtqtde.Text

        rs.Update
        rs.Close
        MsgBox "PRODUTO INCLUSO COM SUCESSO"
        Call limpacontroles

        Command3.Enabled = True
        ListView1.Refresh
end sub
 
'Veja se isso pode  te ajudar...

       Tiago Gomes Pereira 
------------------------------------
 MSN: algodasirs@hotmail.com
E-mail: algodas@gmail.com

   
VbMan
RECIFE
PE - BRASIL
ENUNCIADA !
Postada em 25/07/2005 16:35 hs            
A solução para este problema é utilizar SQL, pelo método tradicional do ADO eu também tive problemas.
Ex.:
Dim Sql as String
Dim Banco as New Adodb.Connection
Dim R as variant

Sql = "INSERT INTO PRODUTO (CHAVE, DESCR, QTDE) VALUES (" & txtchave.text & ",  " & txtdescr.Text & ", " & txtqtde.Text)

Banco.Open "Informe aqui a string de conexão com o MYSQL"
Banco.Execute Sql, R
If R<> 0 Then
Msgbox "Ok!"
Else
Msgbox "Erro!"
End If
Banco.Close

Não utilizo da forma tradicional e sim SQL PURA, isto sim, além de ser mais rápido é o que o MYSQL entende por padrão.

As rotinas de consulta pode ser por SQL e ou pela forma tradicional.

Nota: SQL é tudo, aprendendo SQL dominarás qualquer banco de dados.
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página