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

Conexão com o banco


AlbertoRT

Pergunta

Um dos meus maoires problemas vem ser fazer a conexão com banco de dados. A maior parte dos meus estudos com páginas ASP ficam prejudicados ao chegar nessa parte de conexão. Eu aprendi a fazer a conexão com esse código:

<%
conString="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\Meu novo site\dados\info16br.mdb"

Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring

'crio o rs
 set rs=Server.CreateObject("ADODB.Recordset")
'crio o SQL
SQL="SELECT qry_registros_cadastrados.* FROM qry_registros_cadastrados"
rs.open SQL,conexao,1,3
%>
A tabela abre tudo normalmente. Agora a conexão abaixo apresenta erro e não sei como alterar para fazer a conexão. Mesmo colocando todo o caminho "C:\inetpub\wwwroot\Meu novo site\dados\info16br.mdb" conforme o exemplo acima, não funciona. Porque? Neste código o banco de dados é o mesmo, se encontra no mesmo diretório. Não teria que fazer a conexão?
<%
Dim user, pass
user = Request.Form("user")
pass = Request.Form("pass")
Dim conObj

Set conObj = Server.CreateObject("ADODB.Connection")
conObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../dados/info16br.mdb") & ";"

Dim sql
sql = "SELECT * FROM users WHERE user='" & user & "' AND pass='" & pass & "'"

Dim rs

Set rs = conObj.Execute(sql)

If rs.EOF Then

login = false
Else
login = true
End If

If login = true Then
Session("logado") = true
Response.redirect("user_index.asp")

Else
Response.redirect("erro.asp")
End If
%>

Obrigado

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

imprime o caminho e veja se está correto. Exemplo:

<%
Dim v_caminho
v_caminho = Server.MapPath("./dados/info16br.mdb")
Response.Write(v_caminho)

v_caminho = Server.MapPath("/dados/info16br.mdb")
Response.Write(v_caminho)
%>

Link para o comentário
Compartilhar em outros sites

  • 0

Muito obrigado.

Tentei isso:

conObj.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\inetpub\wwwroot\Meu novo site\dados\info16br.mdb"
Usando:
v_caminho = Server.MapPath("./dados/info16br.mdb")

Não funcionou.

Muito obrigado pela atenção.

Vou trabalhar outros exemplos e qualquer coisa volto a postar.

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

  • 0

Altera o nome dessa pasta: Meu novo site

Não coloque espaços: Meu_novo_site

'CRIANDO UMA CONEXÃO

Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\inetpub\wwwroot\Meu_novo_site\dados\info16br.mdb"

'Abrindo conexão com banco de dados

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

conn.open Conexao


'INSERINDO UM REGISTRO

Conn.Execute "insert into TABELA (campo1,Campo2) values ('"&var_campo1&"','"&var_campo2&"')"

'ALTERANDO UM REGISTRO

Conn.Execute "Update TABELA set Campo1 ='"&var_campo1&"', campo2 ='"&var_campo2&"' where id = "&var_id&""

'EXCLUINDO UM REGISTRO
Conn.Execute "Delete from tabela where id = "&VAR_ID&""

'BUSCANDO UM REGISTRO
'1º CRIA O OBJETO DE CONEXÃO

 Set RecSet = Server.CreateObject("adodb.recordset")

 RecSet.open "Select * from TABELA where id= "&VAR_ID&"",conn

 response.write RecSet("campo1")

'Fechando objeto isso é muito importante

 RecSet.close
 set  RecSet = nothing

Link para o comentário
Compartilhar em outros sites

  • 0

Desculpe de ter postado duas vezes.

Bem, digitei exatamente conforme as suas orientação porém tem algo mais. Existem variáveis que se eu retirar vai acarretar problema. Não vai? É isso que eu não entendo.

Digitei na página "ResProva_LT_01_01.asp":

<%
'Criando a conexão
Conexao="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\inetpub\wwwroot\Meu_novo_site\dados\info16br.mdb"

'Abrindo a conexão com banco de dados
Set conn = Server.CreateObject("ADODB.Connection")

conn.open Conexao

Dim conexaoDataBase
Dim strIns, rsProva
Dim varNum_senha_p1TL, varResp_alternativa_a_perg_1_p1TL, varResp_alternativa_b_perg_1_p1TL, varResp_alternativa_c_perg_1_p1TL, varResp_alternativa_d_perg_1_p1TL, varResp_alternativa_e_perg_1_p1TL

varNum_senha_p1TL = Request.Form("txtNum_senha_plTL")
varResp_alternativa_a_perg_1_p1TL = Request.Form("txtResp_alternativa_a_perg_1_p1TL")
varResp_alternativa_b_perg_1_p1TL = Request.Form("txtResp_alternativa_b_perg_1_p1TL")
varResp_alternativa_c_perg_1_p1TL = Request.Form("txtResp_alternativa_c_perg_1_p1TL")
varResp_alternativa_d_perg_1_p1TL = Request.Form("txtResp_alternativa_d_perg_1_p1TL")
varResp_alternativa_e_perg_1_p1TL = Request.Form("txtResp_alternativa_e_perg_1_p1TL")

strINS = "INSERT into tb_prova_legislacao_telec_1_classe_C"
strINS = strINS & "(Num_senha_p1TL, Resp_alternativa_a_perg_1_p1TL, Resp_alternativa_b_perg_1_p1TL, Resp_alternativa_c_perg_1_p1TL, Resp_alternativa_d_perg_1_p1TL, Resp_alternativa_e_perg_1_p1TL )"

strINS = strINS + "VALUES ('" + varNum_senha_p1TL + "',"
strINS = strINS + "'" + varResp_alternativa_a_perg_1_p1TL + "',"
strINS = strINS + "'" + varResp_alternativa_b_perg_1_p1TL + "',"
strINS = strINS + "'" + varResp_alternativa_c_perg_1_p1TL + "',"
strINS = strINS + "'" + varResp_alternativa_d_perg_1_p1TL + "',"
strINS = strINS + "'" + varResp_alternativa_e_perg_1_p1TL + "')"

Call abreConexao
'Response.Write(strINS)
Set rsProva = conexaoDataBase.Execute(strINS)
%>
Depois de entrar com os resgistros no Formulário Prova_LT_ 01_01.asp abre a mensagem de erro apontando para a página "ResProva_LT_01_01.asp", onde tem a conexão. A mensagem de erro é:
Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A000D)
Tipos incompatíveis: 'abreConexao'
/meu novo site/ResProva_LT_01_01.asp, line 34
Já existe uma abertura conforme abaixo que faz referencia a variáveis criadas. Não posso retirar essa variáveis se não vai para tudo. Correto? A linha 34 é:
Call abreConexao
'Response.Write(strINS)
Set rsProva = conexaoDataBase.Execute(strINS)

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

'CRIANDO UMA CONEXÃO

Conexao = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\inetpub\wwwroot\Meu_novo_site\dados\info16br.mdb"

'Abrindo conexão com banco de dados

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

conexaoDataBase.open Conexao

Tira essa linha tu já pa abre a conexão lá em cima.

Call abreConexao

Link para o comentário
Compartilhar em outros sites

  • 0

Agora abriu o erro:

Tipo de erro:
Erro de tempo de execução do Microsoft VBScript (0x800A000D)
Tipos incompatíveis: 'fechaConexao'
/meu novo site/ResProva_LT_01_01.asp, line 51
A linha 51 é:
<%
Call fechaConexao
Set rsProva = Nothing
%>
Retirando essa linha não vai trazer problema para onde informa?
Set rsProva = Nothing
O exemplo que você deu para fecha tem um variável.
RecSet.close
set RecSet = nothing

E aqui como fica para fechar?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...