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

Conexão com banco de dados


satoshy

Pergunta

bom dia a todos !

faz um tempo que não mexo com asp, e não lembro direito dos códigos...

estou tentando fazer uma conexão com o banco de dados onde :

a pagina verifica se o usuario/senha existem no banco de dados, se existir aparece uma mensagem, se não existir aparece outra

segue abaixo a mensagem que o IE mostra :

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/pagina_asp/registros.asp, line 12

c.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "& Server.MapPath("Database1.mdb")&";",c

tentei de varias formas, mas não axo o erro, estou mudando toda hora o Data Source, mas nenhum esta dando certo...

segue abaixo os códigos em asp

<%Dim c,r
set c = Server.CreateObject("ADODB.connection")
set r = Server.CreateObject("ADODB.recordset")
c.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "& Server.MapPath("Database1.mdb")&";",c
c.Open
r.Open "Select * from Tabela1 where Usuario="& request.form("t1")&"",c
If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If Request.Form ("p1") = r("Senha") then
Response.Write "Bem - vindo" + r("Nome") + "!"
else
Response.Write "usuario ou senha invalidos"
end if
end if
r.close
c.close
set c = nothing
set r = nothing
%>

agradeço desde já !

Editado por satoshy
Link para o comentário
Compartilhar em outros sites

16 respostass a esta questão

Posts Recomendados

  • 0

Coloca o mapeamento real do seu banco. tenta não usar Server.MapPath

ex.

c:/wwwroot/site/banco/banco1.mdb

Minha conexão é assim:

Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Webs\full\BD\bdwik.mdb"

'abrindo conexão com banco de dados

set conn = Server.CreateObject("adodb.connection")
conn.open Conexao

Link para o comentário
Compartilhar em outros sites

  • 0

valeus ae Alea

mas como faço isso com ftp ?

o banco de dados esta dentro de um ftp

coloca como http:// ou coloca como ftp:// ?

e no codigo que você passou

Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Webs\full\BD\bdwik.mdb"

'abrindo conexão com banco de dados

set conn = Server.CreateObject("adodb.connection")

conn.open Conexao

é nessa ordem mesmo, ou pode ser na q eu fiz ? (a ordem da conexao, e de abrir ela)

set c = Server.CreateObject("ADODB.connection")
set r = Server.CreateObject("ADODB.recordset")
c.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = "& Server.MapPath("Database1.mdb")&";",c

esqueci de falar algo...

o Data Source = "ftp://...Databse1.mdb" ou "http://...Database1.mdb" é preciso por as aspas ou não precisa ? (verifiquei no codigo que você passou não tinha aspas)

agradeço desde já !

Editado por satoshy
Link para o comentário
Compartilhar em outros sites

  • 0

Olá amigo! Ainda estou sem experiência para ajudar, mas você já tentou clicar com o lado direito na pasta do Banco de Dados depois em “Propriedades” em seguida vai abrir "Propriedades de Dados" você vai em "Segurança” e verifica se existe a permissão “Todos”. Tudo tem que está habilitado. Caso não exista clique em “Adicionar” e digite “Todos” e marca tudo.

Mesmo o banco estando local é necessário esse procedimento.

Mas tenho certeza que o companheiro Alea (um abraço) vai solucionar. Ele tem sido o meu guru.

Tenho um projeto parecido com o seu que está funcionando qualquer coisa informa.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Valeus ae Alberto

cliquei em adicionar, e apareceu:

Selecionar este tipo de objeto :

Usuarios, Grupos, ou Segurança interna principal

Deste local:

Empresa.local

Digite os nomes de objeto a serem selecionados (exemplos):

(digitei) Todos

apertei OK e apareceu isso

não sei se fiz certo, mas ao clicar na parte de Segurança aparece selecionado como Permitir :

Controle total

Modificar

Ler & executar

Leitura

Gravar

agradeço desde já !

Não é com ftp meu caro.

Pede para seu servidor de hospedagem o caminho.

1º seu banco está na raiz da pasta onde encontra-se o arquivo de conexão?

2º seu banco esta dentro de alguma pasta?

desculpa alea não entendi muito bem XD

como assim pedir pro servidor de hospedagem o caminho ??

no ftp eu criei uma pasta só para testar, tem 2 paginas (uma html, e outra em asp) e o banco de dados...

para conseguir acessar a essa pasta, eu entro no IE, e digito http://pasta/pagina.html

não sei se é isso q você quis dizer...

(OBS: no ftp tem a pasta wwwroot, e dentro dela tem o index do site, criei uma pasta dentro desse wwwroot)

agradeço desde já !

Link para o comentário
Compartilhar em outros sites

  • 0

Valeus ae bareta

desculpa não entender muito do assunto mas ...

eu tentei mudar o mdb para accdb, mudando também o Microsoft.jet.OLEDB.4.0 para Microsoft.ACE.OLEDB.12.0 mas não funcionou...

não sei se tem algo a mais no sites que você me indicou, vou continuar pesquisando nos sites...

agradeço desde já !

Link para o comentário
Compartilhar em outros sites

  • 0
Valeus ae bareta

desculpa não entender muito do assunto mas ...

eu tentei mudar o mdb para accdb, mudando também o Microsoft.jet.OLEDB.4.0 para Microsoft.ACE.OLEDB.12.0 mas não funcionou...

não sei se tem algo a mais no sites que você me indicou, vou continuar pesquisando nos sites...

agradeço desde já !

Assim funciona:

<%

endereco_ = Server.MapPath("./") & "\Database1.mdb"

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

C.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & endereco_ & ";"

sql = "Select * from Tabela1 where Usuario=" & request.form("t1") & ";"

set r = c.execute(sql)

If r.EOF then

Response.Write "usuario ou senha invalidos"

else

If Request.Form ("p1") = r("Senha") then

Response.Write "Bem - vindo" + r("Nome") + "!"

else

Response.Write "usuario ou senha invalidos"

end if

end if

r.close

c.close

set c = nothing

set r = nothing

%>

Link para o comentário
Compartilhar em outros sites

  • 0

bom dia a todos

obrigado a galera ae q estão me ajudando ^_^

Mario, eu coloquei o código que me passou, e o IE mostrou esssa mensagem :

Microsoft JET Database Engine error '80004005'

Unrecognized database format 'D:\Webs\login\pagina_asp\Database1.mdb'.

/pagina_asp/registros.asp, line 13

tentei tambem com usuario e senha já gravados no bd, mas deu a mesma mensagem.

abaixo o código atual (editando: mudei o codigo, deixei como antigo, tentei sem e com aspas na parte do Data source, e deu na mesma):

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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>Documento sem título</title>
</head>

<body>
<%Dim c,r
Set c = Server.CreateObject("ADODB.Connection")
Set r = Server.CreateObject("ADODB.RecordSet")
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="http://www.escritorioprado.com.br/pagina_asp/Database1.mdb";" 
c.Open 
r.Open "Select * from Tabela1 where Usuario=" & request.form("t1") & ";"

If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If Request.Form ("p1") = r("Senha") then
Response.Write "Bem - vindo" + r("Nome") + "!"
else
Response.Write "usuario ou senha invalidos"
end if
end if
r.close
c.close
set c = nothing
set r = nothing
%> 
</body>
</html>
e este o código que estava usando :
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!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>Documento sem título</title>
</head>

<body>
<%Dim c,r
set c = Server.CreateObject("ADODB.connection")
set r = Server.CreateObject("ADODB.recordset")
c.ConnectionString = "Provider = Microsoft.jet.OLEDB.4.0;Data Source = "http://www.escritorioprado.com.br/pagina_asp/Database1.mdb"",c
c.Open
r.Open "Select * from Tabela1 where Usuario="& request.form("t1")&"",c
If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If Request.Form ("p1") = r("Senha") then
Response.Write "Bem - vindo" + r("Nome") + "!"
else
Response.Write "usuario ou senha invalidos"
end if
end if
r.close
c.close
set c = nothing
set r = nothing
%>
</body>
</html>

na parte do Data Source, tentei como ftp://www.escritorioprado.com.br/pagina_asp/Database1.mdb, tentei tambem como pagina_asp/Database1.mdb, maas continua na mesma ...

Olá amigo! Ainda estou sem experiência para ajudar, mas você já tentou clicar com o lado direito na pasta do Banco de Dados depois em “Propriedades” em seguida vai abrir "Propriedades de Dados" você vai em "Segurança” e verifica se existe a permissão “Todos”. Tudo tem que está habilitado. Caso não exista clique em “Adicionar” e digite “Todos” e marca tudo.

Mesmo o banco estando local é necessário esse procedimento.

Mas tenho certeza que o companheiro Alea (um abraço) vai solucionar. Ele tem sido o meu guru.

Tenho um projeto parecido com o seu que está funcionando qualquer coisa informa.

Abraços

Alberto, consegui fazer essa parte de colocar Todos, mas continua a mesma coisa ...

Agradeço desde já !

Editado por satoshy
Link para o comentário
Compartilhar em outros sites

  • 0

Galera, ainda estou tentando aqui ...

tentei com esse código :

<%Dim c,r
Set c = Server.CreateObject("ADODB.Connection")
Set r = Server.CreateObject("ADODB.RecordSet")
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='"&Server.Mappath("Database1.mdb")&"';"
c.Open
r.Open "Select * from Tabela1 where Usuario=" & request.form("t1") & ";"

If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If Request.Form ("p1") = r("Senha") then
Response.Write "Bem - vindo" + r("Nome") + "!"
else
Response.Write "usuario ou senha invalidos"
end if
end if

r.close
c.close
set c = nothing
set r = nothing
%>

mas ainda não estou conseguindo

o IE mostra a mesmo msg :

Microsoft JET Database Engine error '80004005'

Unrecognized database format 'D:\Webs\login\pagina_asp\Database1.mdb'.

/pagina_asp/registros.asp, line 14

eu não sei o que fazer :(

alguém pode dar um help ??

ninguém ?! :(

Agradeço desde já !

Editado por satoshy
Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia a todos

no final, consegui me virar com os erros...

muitas tentativas no google, e muitos sites em ingles --'

podem me ajudar com esse codigo ?

<%Dim c,r
Set c = Server.CreateObject("ADODB.Connection") 
Set r = Server.CreateObject("ADODB.RecordSet") 
c.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&Server.Mappath("Database1.accdb")&";" 
c.Open  
r.Open "Select * from Tabela1 where Usuario='"&request.form("t1")&"'", c
If r.EOF then
Response.Write "usuario ou senha invalidos"
else
    If request.form("p1") = r("Senha") then
    Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!"
    else
    Response.Write "ainda n"
    end if    
end if

r.close
c.close
set c = nothing
set r = nothing
%>

eu queria q acontecesse algo do tipo

ele pega os valores da Tabela1

se o t1 for diferente de Usuario então mostra mensagem1

se for igual mostra mensagem2

se o p1 for diferente de Senha então mostra mensagem1

se for igual mostra mensagem2

no código acima só mostra usuario ou senha invalidos se o login estiver errado, mas se o login estiver certo (e mesmo se a senha estiver errada, em branco, ou certa) mostra "ainda n"

Link para o comentário
Compartilhar em outros sites

  • 0

uai da forma como esta ai funciona como você quer

se usuario errado mostra: usuario ou senha invalidos

se usuario certo, senha errada: ainda n

se login e senha certo : Bem - vindo" & " " & r("Nome") & " " & "!"

agora se sua senha estiver como numero no banco tu tem que converte os dados para tipos numericos (cint(), cdbl() etc....) para fazer a comparação corretamente.

Link para o comentário
Compartilhar em outros sites

  • 0
agora se sua senha estiver como numero no banco tu tem que converte os dados para tipos numericos (cint(), cdbl() etc....) para fazer a comparação corretamente.

esta certo, eu criei como numerico (geral)

existe um certo tipo para senha ?

e onde eu acho essa parte dos tipos numericos no access 2010 ? (isso se estiver dentro dele)

Agradeço desde já !

edit :

eu fiz um teste aki...

eu criei uma coluna (Senha_teste) do tipo texto

mudei o p1 para text (estava como password)

e funcionou td certo as mensangens ...

seria algo para mudar no bd ou no codigo ?

Editado por satoshy
Link para o comentário
Compartilhar em outros sites

  • 0

indiferente se você usar um campo numerico no banco de dados ( ai depende de cada tipo de banco para criação das tabelas e colunas ), sempre no sql ou em comparações você terá que converter esses valores

em sql formatos numericos são colocados diretamente ou seja sem aspas simples ( '"&var&"', para texto e "&var&" para numeros)

sql="select campo from tabela where id="&id
sql="select campo from tabela where texto='"&id&"'"
o tipo do input no formulário não interfere. para comparar numeros converte os dados para tipos numericos (cint(), cdbl() etc....)
cint(numero)=cint(rs("numero")) ?

para saber quando usar cint / cdbl /clng ou outros tipos você tem que dar uma pesquisada porque cada função converte numeros de um tipo e um range (inteiro, double, long ).... e por ai vai..

Link para o comentário
Compartilhar em outros sites

  • 0

bareta eu fiz desse jeito e deu certo ...

em vez de numero, deixei como texto mesmo,

e foi !

achei esse link também q fala dos tipos numericos

http://office.microsoft.com/pt-br/access-h...A001229018.aspx

se tiver outro jeito de fazer, por favor me avisem !

obrigado a todos !

vou continuar mexendo no site, qualquer coisa farei outro tópico XD

(desculpe qualquer coisa)

uma pergunta ...

como eu faço para q só aceite numeros ?

ou não tem como ?

por exemplo :

vai ter uma text para telefone, como faço para q essa text aceite só numeros ?

Att.

Editado por satoshy
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...