Jump to content
Fórum Script Brasil
  • 0

Conexão com banco de dados


satoshy

Question

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á !

Edited by satoshy
Link to comment
Share on other sites

16 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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á !

Edited by satoshy
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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á !

Edited by satoshy
Link to comment
Share on other 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á !

Edited by satoshy
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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 ?

Edited by satoshy
Link to comment
Share on other 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 to comment
Share on other 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.

Edited by satoshy
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...