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

Asp + Banco De Dados (mdb)


ldrwebsite

Pergunta

huh.gif Olá pessoal, estou precisando de uma ajudinha com banco de dados.

Montei um banco de dados no Access para gravar as mensagens enviadas por uma página Fale Conosco, no banco de dados estão registrados os campos cod, nome, empresa, cidade, estado, email, ddd, telefone, dep, assunto, mensagem, data e hora. O que eu queria é que o valor de cod, que seria o código da mensagem postada pelo usuário funcionasse da seguinte forma. Ao enviar a mensagem, o programa ASP verificava o último registro gravado no banco de dados e uma variável pegaria o valor do último cod e somaria mais um. Exemplo: o último cod é 0182, a variável faria novo_cod=0182+1, mas não estou conseguindo fazer isto. Veja como estou fazendo a inclusão do registro.

<%

dim vconexao, vresposta, vpesquisar

Set vconexao=Server.CreateObject("ADODB.Connection")

vconexao.Open "DBQ=c:/asp/info/produtos.mdb;Driver={Microsoft Access Driver (*.mdb)}"

dim nome, empresa, cidade, estado, email, ddd, telefone, dep, assunto, mensagem, data, hora

nome=Request.Form("nome")

empresa=Request.Form("empresa")

cidade=Request.Form("cidade")

estado=Request.Form("estado")

email=Request.Form("email")

ddd=Request.Form("ddd")

telefone=Request.Form("telefone")

dep=Request.Form("dep")

assunto=Request.Form("assunto")

mensagem=Request.Form("mensagem")

data=date

hora=time

vpesquisar="INSERT INTO fl_conosco (nome,empresa,cidade,estado,email,ddd,telefone,dep,assunto,mensagem,data,hora) VALUES ('"&nome&"','"&empresa&"','"&cidade&"','"&estado&"','"&email&"','"&ddd&"','"&telefone &"','"&dep&"','"&assunto&"','"&mensagem&"','"&data&"','"&hora&"')"

set vresposta=vconexao.Execute(vpesquisar)

vconexao.close

set vresposta=nothing

set vconexao=nothing

%>

No script acima não está designado para incluir o cod, gostaria de saber como fazer, pois antes tenho de fazer um pesquisa no banco de dados para saber qual é o último registro, pegar o valor do último registro, somar mais um e depois incluir. Se alguém puder me ajudar agradeço desde já. NOTA: tentei usar o comando MoveLast mas deu erro.

Link para o comentário
Compartilhar em outros sites

18 respostass a esta questão

Posts Recomendados

  • 0

Eu já usei. O que eu queria também é que depois que o usuário enviasse a mensagem, além de apareceR a tela dizendo "SUA MENSAGEM FOI ENVIADA COM SUCESSO PARA EMAIL@EMAIL.COM.BR" queria que a página ASP mostrasse outra mensagem dizendo "SUA MENSAGEM FOI CADASTRADA COM O CÓDIGO NÚMERO DO CÓDIGO PARA EVENTUAIS CONSULTAS", só que para isto, depois de incluir a mensagem no banco de dados eu tenho que fazer com que a página ASP adquira o último código incluído. Se eu tivesse um variável com o valor, acho que seria mais fácil.

Link para o comentário
Compartilhar em outros sites

  • 0

tenta fazer assim

passar o valor da variavel data e hora para a página que você qé mostrar o codigo!

ou por session... ou por querystring... ou por campo oculto

tanto faz

depois você faz um select, onde a data for igual a armazenada na variavel data e hora for igual a hora armazenada na variavel hora!

ai você mostra o codigo, que deverá tá em um campo autonumeração

assim deve funcionar

do otro jeito que você tava falando, pode fazer assim:

sql = "select * from fl_conosco order by cod desc"

set rs = vconexao.execute(sql)

ai, você coloca

ultimo_codigo = rs("cod")

que vai mostrar o ultimo codigo cadastrado

codigo_atual = cint(ultimo_codigo) + 1 ou codigo_atual = ultimo_codigo + 1 (não lembro se precisa do cint .

ai no insert, você inseri a variavel codigo_atual na linha de codigo

mas aí você vai ter que passar a variavel para a proxima pagina do mesmo jeito!

pense ae no que fazer

não sei se fui claro, mas espero que entenda!

Link para o comentário
Compartilhar em outros sites

  • 0

você pode usar o select top.

mas de i uma procurada no googe sobre select SELECT @@IDENTITY e aprendi muita coisa!!! e achei muito legal, resolve o problema!

da uma olhada! Resolve o seu problema!

abraços

Link para o comentário
Compartilhar em outros sites

  • 0
você pode usar o select top.

mas de i uma procurada no googe sobre select SELECT @@IDENTITY e aprendi muita coisa!!! e achei muito legal, resolve o problema!

da uma olhada! Resolve o seu problema!

abraços

opa! esqueci de logar!!!!

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

seguindo o modo padrão usado hoje em dia é simples

cadastra o cara

logo após, faz um select no banco, usando o where e apontando pro usuario que você acabou de cadastrar

então o select vai pegar o codigo dele..

a teoria é essa..

Link para o comentário
Compartilhar em outros sites

  • 0

fazendo assim pode funcionar na boa..

porém, se dois usuarios se cadastrarem exatamente no mesmo momento..

ele vai se perder..

por isso não sei se esse modo é o melhor

claro.. que é 0,01 % de chances de isso acontecer né? hehe

Mas não podemos esquecer essa hipótese...

Link para o comentário
Compartilhar em outros sites

  • 0
wink.gif è verdade, mas o site que estou montando, eu acho que não vai ter tantos cadastros ao mesmo tempo. Se você tiver outra idéia me manda. Eu pensei em amarrar o cadastro na hora, mas pode acontecer o que você tá falando, se dois usuários enviarem mensagens na mesma hora, aí ferra tudo.
Link para o comentário
Compartilhar em outros sites

  • 0

é só fazer o que falei no meu post anterior ào seu..

Link para o comentário
Compartilhar em outros sites

  • 0

Tá você fala para apontar para o nome do usuario recem cadastrado, o q acontece é que não é um cadastro de usuario e sim um cadastro de mensagem enviada via uma tela Fale Conosco, onde o qualquer pessoa pode entrar em contato com a empresa, se a mesma pessoa mandar várias mensagens com o mesmo nome aí não dá! Entendeu!?

Link para o comentário
Compartilhar em outros sites

  • 0

huhum

será que se você comparar com nome, ip, data e hora, e comentarios enviados, resolve seu problema?

Link para o comentário
Compartilhar em outros sites

  • 0

Só pra esclarecer, eu quero que o maldito código apareça na tela, para que o usuário veja, pois se o atendente da empresa não responder as dúvidas da mensagem, o cliente pode ligar reclamando e passar o código para que o atendente encontre a mensagem no banco de dados!

Link para o comentário
Compartilhar em outros sites

  • 0

sim

você faz o select lá

e depois, recupera ele com aquele modo padrão..

codigo = rs("codigo")

e mostra na tela com o famoso response.write

response.write codigo

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,2k
    • Posts
      652k
×
×
  • Criar Novo...