[Resolvido] Por que BOF e EOF Verdadeiros se acabei de inserir?
desculpem-me colei o código sem explicação!
tenho este codigo que INSERE valores em duas tabelas. Primeiro ele insere na tabela ALUNOS
e depois na tabela PAIS, porém antes de inserir na tabela PAIS, gostaria que ele localiza-se o
ID do aluno, para relacionar com o pai, mas ele dá akele famoso erro:
BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo
requer um registro atual.
/meu_caminho/usuarioadd.asp, line 80
este é o local
' pesquisar codigo aluno
Set rec = Server.CreateObject ("ADODB.RecordSet")
rec.open "SELECT * FROM Alunos WHERE Usuario='"&usuario_aluno&"'",conn,2,3
codigo_aluno = rec("Id_aluno").value
<!--#include file="includes/connectlogin.asp"-->
<%
'recebe valores
nome = request.form("nome")
serie = request.form("serie")
complemento = request.form("complemento")
dia = request.form("dia")
mes = request.form("mes")
ano = request.form("ano")
usuario_aluno = request.form("usuario_aluno")
senha_aluno = request.form("senha_aluno")
nome_pai = request.form("nome_pai")
usuario_pai = request.form("usuario_pai")
senha_pai = request.form("senha_pai")
nome_mae = request.form("nome_mae")
usuario_mae = request.form("usuario_mae")
senha_mae = request.form("senha_mae")
' armazena em cookies
response.Cookies("nome") = nome
response.Cookies("serie") = serie
response.Cookies("complemento") = complemento
response.Cookies("dia") = dia
response.Cookies("mes") = mes
response.Cookies("ano") = ano
response.Cookies("usuario_aluno") = usuario_aluno
response.Cookies("senha_aluno") = senha_aluno
response.Cookies("nome_pai") = nome_pai
response.Cookies("usuario_pai") = usuario_pai
response.Cookies("senha_pai") = senha_pai
response.Cookies("nome_mae") = nome_mae
response.Cookies("usuario_mae") = usuario_mae
response.Cookies("senha_mae") = senha_mae
' verifica se existe algum campo em branco
if nome = "" or serie = "-" or dia = "-" or mes = "-" or ano = "-" or usuario_aluno = "" or senha_aluno = ""
or nome_pai = "" or usuario_pai = "" or senha_pai = "" or nome_mae = "" or usuario_mae = "" or senha_mae = ""
then
response.redirect replace(replace(replace(Replace(Request.ServerVariables("HTTP_REFERER"),"?Erro=Verifique%20se%20todos%20os%20campos%20foram%20preenchidos", ""),"?Erro2=Este%20usuário%20para%20aluno%20já%20existe,%20escolha%20outro!",""),"?Erro3=Este%20usuário%20para%20pai%20já%20existe,%20escolha%20outro!",""),"?Erro4=Este%20usuário%20para%20mãe%20já%20existe,%20escolha%20outro!","")+"?Erro=Verifique%20se%20todos%20os%20campos%20foram%20preenchidos"
else
'verifica se o usuario do aluno já existe
Set rec0 = Server.CreateObject ("ADODB.RecordSet")
rec0.open "SELECT * FROM Alunos, Administradores, Secretaria, Pais, Professores, Pedagogia WHERE (Alunos.Usuario='"&usuario_aluno&"') OR (Administradores.Usuario='"&usuario_aluno&"') OR (Secretaria.Usuario='"&usuario_aluno&"') OR (Pais.usuario_pai='"&usuario_aluno&"') OR (Pais.usuario_mae='"&usuario_aluno&"') OR (Professores.Usuario='"&usuario_aluno&"') OR (Pedagogia.usuario='"&usuario_aluno&"')",conn,2,3
If Not rec0.EOF Or Not rec0.BOF Then
response.redirect replace(replace(replace(Replace(Request.ServerVariables("HTTP_REFERER"),"?Erro=Verifique%20se%20todos%20os%20campos%20foram%20preenchidos", ""),"?Erro2=Este%20usuário%20para%20aluno%20já%20existe,%20escolha%20outro!",""),"?Erro3=Este%20usuário%20para%20pai%20já%20existe,%20escolha%20outro!",""),"?Erro4=Este%20usuário%20para%20mãe%20já%20existe,%20escolha%20outro!","")+"?Erro2=Este%20usuário%20para%20aluno%20já%20existe,%20escolha%20outro!"
elseIf rec0.EOF Or rec0.BOF Then
'verifica se o usuario do pai já existe
Set rec0 = Server.CreateObject ("ADODB.RecordSet")
rec0.open "SELECT * FROM Alunos, Administradores, Secretaria, Pais, Professores, Pedagogia WHERE (Alunos.Usuario='"&usuario_pai&"') OR (Administradores.Usuario='"&usuario_pai&"') OR (Secretaria.Usuario='"&usuario_pai&"') OR (Pais.usuario_pai='"&usuario_pai&"') OR (Pais.usuario_mae='"&usuario_pai&"') OR (Professores.Usuario='"&usuario_pai&"') OR (Pedagogia.usuario='"&usuario_pai&"')",conn,2,3
If Not rec0.EOF Or Not rec0.BOF Then
response.redirect replace(replace(replace(Replace(Request.ServerVariables("HTTP_REFERER"),"?Erro=Verifique%20se%20todos%20os%20campos%20foram%20preenchidos", ""),"?Erro2=Este%20usuário%20para%20aluno%20já%20existe,%20escolha%20outro!",""),"?Erro3=Este%20usuário%20para%20pai%20já%20existe,%20escolha%20outro!",""),"?Erro4=Este%20usuário%20para%20mãe%20já%20existe,%20escolha%20outro!","")+"?Erro3=Este%20usuário%20para%20pai%20já%20existe,%20escolha%20outro!"
elseIf rec0.EOF Or rec0.BOF Then
'verifica se o usuario da mae existe
Set rec0 = Server.CreateObject ("ADODB.RecordSet")
rec0.open "SELECT * FROM Alunos, Administradores, Secretaria, Pais, Professores, Pedagogia WHERE (Alunos.Usuario='"&usuario_mae&"') OR (Administradores.Usuario='"&usuario_mae&"') OR (Secretaria.Usuario='"&usuario_mae&"') OR (Pais.usuario_mae='"&usuario_mae&"') OR (Pais.usuario_mae='"&usuario_mae&"') OR (Professores.Usuario='"&usuario_mae&"') OR (Pedagogia.usuario='"&usuario_mae&"')",conn,2,3
If Not rec0.EOF Or Not rec0.BOF Then
response.redirect replace(replace(replace(Replace(Request.ServerVariables("HTTP_REFERER"),"?Erro=Verifique%20se%20todos%20os%20campos%20foram%20preenchidos", ""),"?Erro2=Este%20usuário%20para%20aluno%20já%20existe,%20escolha%20outro!",""),"?Erro3=Este%20usuário%20para%20pai%20já%20existe,%20escolha%20outro!",""),"?Erro4=Este%20usuário%20para%20mãe%20já%20existe,%20escolha%20outro!","")+"?Erro4=Este%20usuário%20para%20mãe%20já%20existe,%20escolha%20outro!"
else
'inserir aluno
sqlstmt = "Insert into Alunos (Nome, Serie, Complemento, Usuario, Senha, Data_nasc, Mes_nasc, Ano_nasc)
values ('"&nome&"','"&serie&"','"&complemento&"','"&usuario_aluno&"','"&senha_aluno&"','"&dia&"','"&mes&"','"&ano&"')"
Set add = server.createobject("adodb.connection") 'abre a conexão com o banco de dados
add.open conn 'avisa qual banco de dados será utilizado na consulta
set rsquery = add.execute(sqlstmt) 'executa a instrução SQL contida na variavel sqlstmt
set rsquery = nothing
set add = nothing
' pesquisar codigo aluno
Set rec = Server.CreateObject ("ADODB.RecordSet")
rec.open "SELECT * FROM Alunos WHERE Usuario='"&usuario_aluno&"'",conn,2,3
codigo_aluno = rec("Id_aluno").value
'inserir pais
sqlstmt2 = "Insert into Pais (Filho, Nome_pai, Usuario_pai, Senha_pai, Nome_mae, Usuario_mae, Senha_mae)
values ('"&codigo_aluno&"','"&nome_pai&"','"&usuario_pai&"','"&senha_pai&"','"&nome_mae&"','"&usuario_mae&"','"&senha_mae&"')"
Set add2 = server.createobject("adodb.connection") 'abre a conexão com o banco de dados
add2.open conn 'avisa qual banco de dados será utilizado na consulta
set rsquery2 = add2.execute(sqlstmt2) 'executa a instrução SQL contida na variavel sqlstmt
set rec0 = nothing
set add2 = nothing
set rsquery2 = nothing
' apagar cookies e redirecionar
response.Cookies("nome") = ""
response.Cookies("serie") = ""
response.Cookies("complemento") = ""
response.Cookies("dia") = ""
response.Cookies("mes") = ""
response.Cookies("ano") = ""
response.Cookies("usuario_aluno") = ""
response.Cookies("senha_aluno") = ""
response.Cookies("nome_pai") = ""
response.Cookies("usuario_pai") = ""
response.Cookies("senha_pai") = ""
response.Cookies("nome_mae") = ""
response.Cookies("usuario_mae") = ""
response.Cookies("senha_mae") = ""
response.Redirect "secretaria_usuarios.asp"
end if
end if
end if
end if
%>
Se alguém puder me ajudar eu agradeço!
Discussão (9)
Carregando comentários...