Jump to content


Photo

Mistério No Update


  • Faça o login para participar
6 replies to this topic

#1 lone

lone

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado

Posted 11/11/2003, 11:24

Galera tenho um sistema onde estou penando para achar o erro, o que ocorre é seguinte
tenho uma pagina que busca os dados e e outra que mostra os dados para alterar e a ultima que faz o update no bd, mas ai é que dá erro, pois ela não altera os dados mas não mostra a msg de erro o que preciso é que o sistema só altere os registros que estiverem com mesmo ID e RE


<%
Option Explicit
'Não deixa informações no Cache
Response.Expires = 0

'Declaração das variáveis
Dim db, StrSql, rs, re, id
Dim datarevisao, , abertura, levantamentonecessidades, conhecimentotecnicos

'Atrubuição dos valores as respectivas variáveis
re = request.querystring("re")
if re="" then
re= session("re")
end if

id = request.querystring("id")
if id="" then
id= Session("id")
end if

datarevisao                  = Request.Form("datarevisao")
abertura                     = Request.Form("abertura")
levantamentonecessidades     = Request.Form("levantamentonecessidades")
conhecimentotecnicos         = Request.Form("conhecimentotecnicos")



'Cria o objeto RecordSet e atribui a variável 
Set db =  Server.CreateObject("ADODB.Connection")
db.Open "DBQ=C:\inetpub\wwwroot\monitoria_online\monitoria.mdb;Driver={Microsoft Access Driver (*.mdb)}"
StrSql = "UPDATE monitorias SET datarevisao='"&datarevisao&"', abertura='"&abertura&"', levantamentonecessidades='"&levantamentonecessidades&"', conhecimentotecnicos='"&conhecimentotecnicos&"', WHERE re= "& re &" And id= "&id

'Caso ocorra um erro esta função de erro será chamada
On error Resume Next
'Executaa inserção no Banco de Dados 
Set Rs = db.Execute(StrSql)
'Fecha o Objeto de Conexão
db.close
'"APAGA" qualquer instancia que possa ter no objeto Rs e db
Set Rs = Nothing
Set db = Nothing 
if err = 0 Then
	'Redireciona o usuário caso não tenha ocorrido erro na transação
	response.write "sucesso"
end if
%>

O homem sabio compartilha o que sabe, o tolo leva o conhecimento para o esquecimento.

#2 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP &lt;br&gt;banco de dados

Posted 11/11/2003, 13:08

Para executar uma instrução de DELETE ou UPDATE ou INSERT vc não precisa de um record set basta usar a conexao para executar o comando

db.Execute(StrSql)

blz
Falows
ok ok!
Sem Imagens!

#3 lone

lone

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado

Posted 11/11/2003, 15:08

Para executar uma instrução de DELETE ou UPDATE ou INSERT vc não precisa de um record set basta usar a conexao para executar o comando

db.Execute(StrSql)

blz
Falows

Cara Fiz a alteração e dá erro do mesmo jeito dizendo que o objeto rs é necessário
O homem sabio compartilha o que sabe, o tolo leva o conhecimento para o esquecimento.

#4 Arley

Arley

    12 Horas

  • Usuários
  • 188 posts
  • Sexo:Não informado
  • Localidade:Brasilia
  • Interesses:ASP &lt;br&gt;banco de dados

Posted 11/11/2003, 15:27

Cara fiz a alteração aqui tenta ai.
vc deve ter esquecido de tirar a linha
set rs = nothing

<%
Option Explicit
'Não deixa informações no Cache
Response.Expires = 0

'Declaração das variáveis
Dim db, StrSql, re, id
Dim datarevisao, , abertura, levantamentonecessidades, conhecimentotecnicos

'Atrubuição dos valores as respectivas variáveis
re = request.querystring("re")
if re="" then
re= session("re")
end if

id = request.querystring("id")
if id="" then
id= Session("id")
end if

datarevisao                  = Request.Form("datarevisao")
abertura                     = Request.Form("abertura")
levantamentonecessidades     = Request.Form("levantamentonecessidades")
conhecimentotecnicos         = Request.Form("conhecimentotecnicos")



'Cria o objeto RecordSet e atribui a variável 
Set db =  Server.CreateObject("ADODB.Connection")
db.Open "DBQ=C:\inetpub\wwwroot\monitoria_online\monitoria.mdb;Driver={Microsoft Access Driver (*.mdb)}"
StrSql = "UPDATE monitorias SET datarevisao='"&datarevisao&"', abertura='"&abertura&"', levantamentonecessidades='"&levantamentonecessidades&"', conhecimentotecnicos='"&conhecimentotecnicos&"', WHERE re= "& re &" And id= "&id

'Caso ocorra um erro esta função de erro será chamada
On error Resume Next

'Executaa inserção no Banco de Dados 
db.Execute(StrSql)

'Fecha o Objeto de Conexão
db.close
'"APAGA" qualquer instancia que possa ter no objeto Rs e db
Set db = Nothing 

if err = 0 Then
'Redireciona o usuário caso não tenha ocorrido erro na transação
response.write "sucesso"
end if
%>
falows
ok ok!
Sem Imagens!

#5 JucaMaster

JucaMaster

    Novato no fórum

  • Usuários
  • 11 posts
  • Sexo:Não informado
  • Localidade:São Paulo
  • Interesses:Aumentar meus conhecimentos em asp e banco de dados e passa os meuus conhecimentos para os que precizarem!!!!

Posted 11/11/2003, 18:04

Tenta tirar aquele onerror resume.nex da sua função que talvez va consiga ver o erro gerado. Este comando faz a página ser carregada normalmente caso haja erro do asp.

#6 cybermix

cybermix

    andrewsmedina.com.br

  • Ex-Admins
  • 3586 posts
  • Sexo:Não informado
  • Localidade:Não sou desse planeta não!!!!
  • Interesses:python, fireworks, linux, php, flash...

Posted 11/11/2003, 18:12

StrSql = "UPDATE monitorias SET datarevisao='"&datarevisao&"', abertura='"&abertura&"', levantamentonecessidades='"&levantamentonecessidades&"', conhecimentotecnicos='"&conhecimentotecnicos&"', WHERE re= "& re &" And id= "&id


1º retire a virgula antes do where
2º nao use o rs
3º retire o on error resume next para ver qual o erro q retornara

ficando assim

<%
Option Explicit
'Não deixa informações no Cache
Response.Expires = 0

'Declaração das variáveis
Dim db, StrSql, re, id
Dim datarevisao, , abertura, levantamentonecessidades, conhecimentotecnicos

'Atrubuição dos valores as respectivas variáveis
re = request.querystring("re")
if re="" then
re= session("re")
end if

id = request.querystring("id")
if id="" then
id= Session("id")
end if

datarevisao                  = Request.Form("datarevisao")
abertura                     = Request.Form("abertura")
levantamentonecessidades     = Request.Form("levantamentonecessidades")
conhecimentotecnicos         = Request.Form("conhecimentotecnicos")



'Cria o objeto RecordSet e atribui a variável 
Set db =  Server.CreateObject("ADODB.Connection")
db.Open "DBQ=C:\inetpub\wwwroot\monitoria_online\monitoria.mdb;Driver={Microsoft Access Driver (*.mdb)}"
StrSql = "UPDATE monitorias SET datarevisao='"&datarevisao&"', abertura='"&abertura&"', levantamentonecessidades='"&levantamentonecessidades&"', conhecimentotecnicos='"&conhecimentotecnicos&"' WHERE re= "& re &" And id= "&id


'Executaa inserção no Banco de Dados 
db.Execute(StrSql)
'Fecha o Objeto de Conexão
db.close
'"APAGA" qualquer instancia que possa ter no objeto Rs e db
Set db = Nothing 
if err = 0 Then
'Redireciona o usuário caso não tenha ocorrido erro na transação
response.write "sucesso"
end if
%>

B)
www.andrewsmedina.com.br

#7 lone

lone

    Turista

  • Usuários
  • 51 posts
  • Sexo:Não informado

Posted 13/11/2003, 11:43


StrSql = "UPDATE monitorias SET datarevisao='"&datarevisao&"', abertura='"&abertura&"', levantamentonecessidades='"&levantamentonecessidades&"', conhecimentotecnicos='"&conhecimentotecnicos&"', WHERE re= "& re &" And id= "&id


1º retire a virgula antes do where
2º nao use o rs
3º retire o on error resume next para ver qual o erro q retornara

ficando assim

<%
Option Explicit
'Não deixa informações no Cache
Response.Expires = 0

'Declaração das variáveis
Dim db, StrSql, re, id
Dim datarevisao, , abertura, levantamentonecessidades, conhecimentotecnicos

'Atrubuição dos valores as respectivas variáveis
re = request.querystring("re")
if re="" then
re= session("re")
end if

id = request.querystring("id")
if id="" then
id= Session("id")
end if

datarevisao                  = Request.Form("datarevisao")
abertura                     = Request.Form("abertura")
levantamentonecessidades     = Request.Form("levantamentonecessidades")
conhecimentotecnicos         = Request.Form("conhecimentotecnicos")



'Cria o objeto RecordSet e atribui a variável 
Set db =  Server.CreateObject("ADODB.Connection")
db.Open "DBQ=C:\inetpub\wwwroot\monitoria_online\monitoria.mdb;Driver={Microsoft Access Driver (*.mdb)}"
StrSql = "UPDATE monitorias SET datarevisao='"&datarevisao&"', abertura='"&abertura&"', levantamentonecessidades='"&levantamentonecessidades&"', conhecimentotecnicos='"&conhecimentotecnicos&"' WHERE re= "& re &" And id= "&id


'Executaa inserção no Banco de Dados 
db.Execute(StrSql)
'Fecha o Objeto de Conexão
db.close
'"APAGA" qualquer instancia que possa ter no objeto Rs e db
Set db = Nothing 
if err = 0 Then
'Redireciona o usuário caso não tenha ocorrido erro na transação
response.write "sucesso"
end if
%>

B)

(y) Valeu cybermix o esquema funcionou perfeitamente, muito obrigado mesmo a todos ai do forum :D :D :D :D :D :D :D :D
O homem sabio compartilha o que sabe, o tolo leva o conhecimento para o esquecimento.




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq