Jump to content


Photo

Não Cadastra No Banco


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

#1 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 28/10/2005, 23:33

O email com a chave ele está mandando normal, mas antes de fazer a validação, preciso acertar o cadastro pois não está inserindo as informações no banco, aqui vai a parte do cód com relação ao banco:



<%
'verifica SE nenhum campo ficou vazio e se o botao submit foi clicado
'caso tenha campos em branco e o submit nao for clicado da msg em branco

If (Request.Form("nome") = "" OR Request.Form("email") = "" OR Request.Form("Cadastra") = "") Then

msg = ""

    'caso o botao tenha sido clicado e um dos campos estiverem em branco da msg de erro
    
    If (Request.Form("Cadastra") = "Enviar") Then
    msg = "Os dados não foram informados corretamente"
    End If


'SENAO executa o código abaixo cadastra no bd e da msg de sucesso

Else

Caminho = "Provider=Microsoft.Jet.OLEDB.4.0; "&_
"Data Source=d:\espirro.com\dados\banco.mdb;"
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open Caminho

Set registros = Server.CreateObject("adodb.recordset")
SQL = "SELECT * FROM email"
registros.Open (SQL), Conexao, 1, 3

   'If (SQL = request.form("email"))  Then GOSTARIA DE FAZER ESTA VERIFICAÇÃO MAS Ñ SEI SE É AQUI
   'msg = "Este email já foi cadastrado!!!"
   
   
registros.AddNew
registros("nome") = Request.Form("nome")  'pega o campo nome do formulário
registros("email") = Request.Form("email") 'pega o campo nome do formulário
registros("status") = false   'seta o campo status como falso no banco de dados 
registros("verificacao") = strsenha  'pega o resultado de uma função de geração de chaves TAMBÉM ESTA DANDO ERRO - Item cannot be found in the collection corresponding to the requested name or ordinal
'registros(date())Aqui gostaria de pegar a data do cadastro 
  'registros(time())Aqui gostaria de pegar a hora do cadastro
registros.Update

registros.Close
Conexao.Close

msg = "Obrigado por se cadastrar em nossa news"

End If
%>

- Jesus -

#2 getpaulo

getpaulo

    Normal

  • Usuários
  • 82 posts
  • Sexo:Não informado
  • Localidade:MG
  • Interesses:Apreender

Posted 29/10/2005, 00:27

Vamos por partes:


Set registros = Server.CreateObject("adodb.recordset")
SQL = "SELECT * FROM email WHERE email = " & Resquest.Form("email")
registros.Open (SQL), Conexao, 1, 3

If not regitros.EOF then
msg = "Este email já foi cadastrado!!!"
end if



registros.AddNew
registros("nome") = Request.Form("nome") 'pega o campo nome do formulário
registros("email") = Request.Form("email") 'pega o campo nome do formulário
registros("status") = false 'seta o campo status como falso no banco de dados
registros("verificacao") = strsenha 'pega o resultado de uma função de geração de chaves TAMBÉM ESTA DANDO ERRO - Item cannot be found in the collection corresponding to the requested name or ordinal
registros("data") = date(Now())
registros("hora") = time(Now())

registros.Update
getpaulo

"Mas, a todos quantos o receberam, aos que crêem no seu nome, deu-lhes o poder de se tornarem filhos de Deus; aos quais não nasceram do sangue, nem da vontade da carne, nem da vontade do varão, mas de Deus. JOÃO 1:12,13"


#3 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 29/10/2005, 16:04

Agora está dando mensagem de erro:

Microsoft VBScript runtime error '800a000d'

Type mismatch: 'Resquest'

/cod_teste/cadastra_email.asp, line 39

A linha é esta:
SQL = "SELECT * FROM email WHERE email = " & Resquest.Form("email")

Tentei mudar para:
SQL = "SELECT * FROM email WHERE email = '" & Resquest.Form("email") & "'"
mas continuou o mesmo erro
- Jesus -

#4 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 29/10/2005, 17:28

Resquest é diferente do correto Request ;)
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#5 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 31/10/2005, 20:10

É verdade, reSquest não vai mesmo rs...

Ok passado este problema o q está pegando agora é o da linha de baixo, o erro é este:

ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/cod_teste/cadastra_email.asp, line 54

A linha 54 é esta:
registros("verificacao") = strsenha  'pega o resultado de uma função de geração de chaves

- Jesus -

#6 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 31/10/2005, 23:27

O Campo verificacao existe com esse nome na tabela do banco de dados ?
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#7 Maracuja

Maracuja

    12 Horas

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

Posted 01/11/2005, 07:51

Conselho: utilize um update.
------------------------
Agora ainda mais Java na veia (JSP, Servlet, EJB)

"E todo o dinheiro que fizeram, jamais comprará de volta suas almas" BOB DYLAN

"Eu uso o google e não desisto nunca" MARACUJA

#8 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 01/11/2005, 12:51

é verdade o nome do campo na tabela estava com um caractere errado.
Arrumei esse campo, e não deu mais erro, mas ele não cadastrou este campo:
registros("verificacao") = strsenha  'pega o resultado de uma função de geração de chaves

Este campo ficou vazio na tabela, será q tem a ver esta função estar em baixo do cód de cadstramento?
- Jesus -

#9 getpaulo

getpaulo

    Normal

  • Usuários
  • 82 posts
  • Sexo:Não informado
  • Localidade:MG
  • Interesses:Apreender

Posted 01/11/2005, 13:14

teste a função utilizando um response.Write
getpaulo

"Mas, a todos quantos o receberam, aos que crêem no seu nome, deu-lhes o poder de se tornarem filhos de Deus; aos quais não nasceram do sangue, nem da vontade da carne, nem da vontade do varão, mas de Deus. JOÃO 1:12,13"


#10 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 01/11/2005, 15:14

Sim efetuei este teste com response lá no final do arquivo, tanto funciona que está mandando por email tb, a grande duvida é se ela não está sendo chamada antes de ser executada, pois ela está em baixo do cód de cadastramento.
Penso q ela esteja tentando cadastrar um valor q ainda não recebeu, apesar de estar no mesmo arquivo.
- Jesus -

#11 Generation

Generation

    Super Veterano

  • Usuários
  • 1546 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 01/11/2005, 16:14

Verifique se voce esta atribuindo corretamente o valor para a variavel, pelo que voce disse ela nao esta recebendo nenhum valor, por isso fica em branco ... ;)
Favoritos : | OpenSuse | Opera | Firefox | NetBeans | GMail | Leia As Regras | Use a Busca | Como fazer Perguntas Inteligentes |
“Obstáculos são aquelas coisas medonhas que você vê quando tira seus olhos de seu objetivo” (Henry Ford)
“É impossível para um homem aprender aquilo que ele acha que já sabe.” (Epíteto)
“A única razão da existência do tempo é para que todas as coisas não aconteçam de uma vez.”(Albert Einstein)

#12 Célio-Ctba

Célio-Ctba

    12 Horas

  • Usuários
  • 293 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 01/11/2005, 16:38

A variável recebe valor sim, era o banco q ficava vazio, mas agora já está resolvido, coloquei toda a função lá no ínicio do código, funcionou 100%.

TÓPICO RESOLVIDO.


Mto obrigado a todos!!!!!


Abraços
- Jesus -




1 user(s) are reading this topic

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

IPB Skin By Virteq