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

Onde Está Errado?


tavicmur

Pergunta

Olá, bom, eu estou aprendendo a utilizar o asp.

criei um formulário, onde pede o nome da pessoa, e este nome tem que ir para o banco de dados q criei.

já configurei o iis, ma quando mando enviar o formulario ele aparece erro na linha 16

de uma olhada

<%

vn=request.form("nome")

set rec = Server.CreateObject("ADODB.Recordset")

rec.ActiveConnection = "Cadastro;"

rec.Source = "Select * FROM Nome"

rec.CursorType= 0

rec.LockType = 3

rec.Open

%>

<%

rec.addnew

rec.fields("nome")=vn

rec.update

rec.close

%>

"nome" é o campo do formulario

cadastro é o nome do ADODB

"nome" é o nome da tabela do access

bom, aguardo respostas, vlw!!! blink.gif

Link para o comentário
Compartilhar em outros sites

15 respostass a esta questão

Posts Recomendados

  • 0

Brother, já que você esta começando..

Eu lhe indico um modo muito mais simples de trabalhar com conexao à banco de dados, e SQL's.

Veja um exemplo, que faz a mesma coisa que você fez:

'conecta ao banco

url_conexao = Server.MapPath("banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

'cria o SQL

sql = "Select * from Tabela"

'executa o sql, e coloca o resultado do sql em RS

set rs = conexao.execute(sql)

Simples, não?

Link para o comentário
Compartilhar em outros sites

  • 0

map path é o modo que você define, na hora que você for colocar o caminho do banco de dados.

Usando mappath, você esta 'dizendo' que usará o caminho lógico do banco de dados.

Tem outra forma, mas não to lembrado agora.

dbq é o lugar onde você coloca o caminho do banco de dados, que no caso, o caminho foi guardado em url_conexao

set rs = conexao.execute(sql)

Nessa linha, você esta fazendo a conexao com o banco executar a string que você digitou no SQL. E ainda está guardando o resultado disso, em RS.

não sei lhe indicar nenhuma apostila SQL..

O que posso te indicar, é para você olhar o tópico de Tutoriais.

Nele tem links, e tutoriais de tudo quanto é coisa.. inclusive SQL.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

eu estou com um problema parecido para definir o objeto...

eu tenho um arquivo que faz a conxexão com o banco de dados...

dai quando eu vou iserir dados de um formulário ele dá esse erro:

erro:

Erro de tempo de execução do Microsoft VBScript error '800a01a8'

Objeto necessário: 'BD'

/sistema_novo/forms/inclui/justificativa_cod.asp, line 7

eu estava usando essa linha:

set rs = BD.execute("INSERT INTO justificativa (justificativa) Values('"&justificativa&"')")

dai eu procurei no meu arquivo conecta.asp como esse DB estava definido..

conecta.asp

<%

Dim objConnection, objRs()

'Constante da verificação do estado do objeto ADO

Const adStateOpen = &H00000001

Sub Connect()

  Dim strConnString

  strConnString = "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("../amarconsultoria.mdb")

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

  With objConnection

    .ConnectionString = strConnString

    .Open

  End With

  Redim objRs(0)

End Sub

Sub GeraRs (ByVal strSql)

  If Not IsEmpty(objRs(0)) Then Redim Preserve objRs(UBound(objRs) + 1)

  Set objRs(UBound(objRs)) = Server.CreateObject("ADODB.Recordset")

  objRs(UBound(objRs)).Open strSql, objConnection

End Sub

Sub Disconnect()

  Dim objRsTmp

  For Each objRsTmp In objRs

    If objRsTmp.State = adStateOpen Then objRsTmp.Close

    Set objRsTmp = Nothing

  Next

  Redim objRs(0)

  If objConnection.State = adStateOpen Then objConnection.Close

  Set objConnection = Nothing

End Sub

%>

dai eu troquei o DB pelo objConnection e deu o mesmo erro...

Link para o comentário
Compartilhar em outros sites

  • 0
oi, muito obrigado, esse código parece ser mais fácil mesmo.Mas como é q significa?

MapPath

DBQ="&url_conexao

set rs = conexao.execute(sql) ?

bom, sem querer te atrapalhar, mas você saberia me informar uma apostila sobre qsl?

obrigado:

biggrin.gif TÁVI smile.gif

apostilas de sql:

http://www.sqlmagazine.com.br/apostilas.asp

Link para o comentário
Compartilhar em outros sites

  • 0
erro:

Erro de tempo de execução do Microsoft VBScript error '800a01a8'

Objeto necessário: 'BD'

/sistema_novo/forms/inclui/justificativa_cod.asp, line 7

eu estava usando essa linha:

set rs = BD.execute("INSERT INTO justificativa (justificativa) Values('"&justificativa&"')")

além de você fazer aquela troca lá..

você precisa chamar a função que conecta ao banco de dados!

Coloque no seu codigo:

<%

call connect

%>

Esse comando chama a função que conectao ao banco de dados.

Se em nenhum momento você executar ela, você não terá o objeto..

tendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

Se você olhar no seu codigo, tem uma função chamada DISCONNECT.. que fecha a conexao..

então, basta:

Call disconnect

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

eu só não endenti uma coisa.. por exemplo, a conexão se abre.... dai enquanto a pessoa estiver com o navegador aberto a conexão fica aberta é isso ?? porém se ela fechar o navegador a conexão fecha também ??

dai qunado eu uso um codigo desses por exemplo ele conecta faz a consulta exibe os resultados e desconecta do banco .. ??

eu inclui o <% call disconnect %> no final de um arquivinho para inserir dados no bacno.. dai ele deu esse erro:

Erro de tempo de execução do Microsoft VBScript error '800a01a8' 
Objeto necessário: 'objRsTmp' 
/sistema_novo/forms/inclui/conecta.asp, line 35 

mais qunado eu tiro o call disconecta e deixo o o call conecta no começo do arquivo ele funciona normal.... dry.gif

Link para o comentário
Compartilhar em outros sites

  • 0

O call conecta, deve abrir a conexao com o banco de dados.

O Call desconecta, deve fechar a conexao com o banco.

então, pensa só..

você abre a conexao no começo do arquivo, porque?

Porque, como você iria fazer alguma operação no banco de dados, sem estar conectado à ele???

Porque você desconecta do banco?

Porque uma conexao com o banco utiliza recursos do servidor.

então, se você sempre deixar aberta, pode perder um pouco de performance.

E o codigo funciona normalmente, mesmo sem fechar a conexao no codigo.

Ele deu aquele erro que você postou, porque precisa estar conectado ao banco, para fazer alguma operação nele!

Tendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

então minha logica estava + ou - certo hehe.. acho que deu pra entender sim....

Ele deu aquele erro que você postou, porque precisa estar conectado ao banco, para fazer alguma operação nele!

só pra matar o post estão...

se eu imaginar que tenho um formulário que insere os dados tals, e no action dele tá assim: action="insere.asp"

dai nesse meu arquivo isere.asp fica mais ou menos assim:

<!--#include file="conecta.asp"--> ( meu arquivo de conexão com o banco)

<% call connect %> ( aqui eu abri a conexão )

Codigos etc etc.... ( aqui vai os codios que estão inserindo os dados no bd )

<% call disconnect %> ( aqui eu to fechando a conexão )

tá certo meu raciocinio não é? ?? Aquele erro que deu foi no arquivo conecta.asp que faz a conxão com o banco...

deu aquele erro que você postou, porque precisa estar conectado ao banco

então esse meu arquivo conecta.asp não estava conectado no banco ??? unsure.gif

Link para o comentário
Compartilhar em outros sites

  • 0

não.

A conexao com o Banco de dados só acontece (no seu codigo), quando você coloca: Call Conect.

Pois, se você não colocar isso, você não estará executando a conexao com o banco. Isso porque você criou uma função que conecta ao banco de dados.

E essa função só é executada quando você chamar ela!

Entendeu?

Link para o comentário
Compartilhar em outros sites

  • 0

hehehe

que bom que entendeu

Qualquer duvida é só postar

ABraços

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