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

locktype travando atualizacao


fabio mazzi

Pergunta

Pessoal é o seguinte, eu tenho o uma pagina com o seguinte codigo:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="../Connections/conexao.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>teste</title>
</head>
<body>
<%
call abre_conexao
Dim teste
Dim teste_numRows
Set teste = Server.CreateObject("ADODB.Recordset")
teste.ActiveConnection = conexao
teste.Source = "SELECT * FROM teste"
teste.CursorType = 0
teste.CursorLocation = 2
teste.LockType = 3
teste.Open()
teste_numRows = 0
while not teste.eof
    response.write "nome: "&teste("nome")&"<br>"
    teste.movenext
wend
teste.AddNew
teste("nome")="teste"
teste.Update
teste.movefirst
response.write "<p>novo<br>"
while not teste.eof
    response.write "nome: "&teste("nome")&"<br>"
    teste.movenext
wend
teste.close
Set teste = nothing
call fecha_conexao
%>
</body>
</html>
neste codigo eu lista a tabela teste do meu banco de dados que tem um campo nome, e logo em seguida eu adiciono mais um nome e peço para listar novamente, ate ai tudo bem, porem se eu trocar as seguintes linhas:
Dim teste
Dim teste_numRows
Set teste = Server.CreateObject("ADODB.Recordset")
teste.ActiveConnection = conexao
teste.Source = "SELECT * FROM teste"
teste.CursorType = 0
teste.CursorLocation = 2
teste.LockType = 3
teste.Open()
teste_numRows = 0
pelas linhas:
sql = "SELECT * FROM teste"
set teste = conexao.execute(sql)
eu consigo listar os registros, porém ao tentar adicionar um novo registro me exibe a mensagem: ADODB.Recordset error '800a0cb3' Current Recordset does not support updating. This may be a limitation of the provider, or of the selected locktype. /maisenvio/home/_teste.asp, line 32 sendo a linha 32 o comando: teste.AddNew alguém poderia me ajudar???? o arquivo conexao.asp tem o seguinte conteudo:
<%
session("path_banco") = "e:\sites\teste\dados\bd_teste.mdb"
dim conexao
sub abre_conexao
    set conexao = CreateObject("ADODB.Connection")
    Conexao.Open "DBQ="&session("path_banco")&";Driver={Microsoft Access Driver (*.mdb)}"
end sub
'----------------------------------------------------------------------------------------------------------------------------
sub fecha_conexao
     Conexao.close
     Set Conexao = nothing
end sub
%>

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
Para dar um update o locktype tem que ser o "4"

Tenta assim:

teste.LockType = 4

Espero ter ajudado !

eu fiz assim:

sql = "SELECT * FROM teste"

set teste = conexao.execute(sql)

teste.LockType = 4

e ele deu o seguinte erro:

ADODB.Recordset error '800a0e79'

Operation is not allowed when the object is open.

/maisenvio/home/_teste.asp, line 15

que a linha quinze é justamente: teste.LockType = 4

alguém tem mais alguma sugestao????

Link para o comentário
Compartilhar em outros sites

  • 0

Poste como está se código completo !

Verifique se você definiu o LockType como "3" e depois mudou pra "4" !

Tente colocar direto como "4", sem redefinição

A tradução do erro é:

A operação não está autorizada quando o objeto está aberto

Veja se ajuda em alguma coisa !

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...