tavicmur Postado Dezembro 21, 2004 Denunciar Share Postado Dezembro 21, 2004 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 16de uma olhada<%vn=request.form("nome")set rec = Server.CreateObject("ADODB.Recordset")rec.ActiveConnection = "Cadastro;"rec.Source = "Select * FROM Nome"rec.CursorType= 0rec.LockType = 3rec.Open %><%rec.addnewrec.fields("nome")=vnrec.updaterec.close%>"nome" é o campo do formulariocadastro é o nome do ADODB"nome" é o nome da tabela do access bom, aguardo respostas, vlw!!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Dezembro 21, 2004 Denunciar Share Postado Dezembro 21, 2004 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 bancourl_conexao = Server.MapPath("banco.mdb")set conexao = Server.CreateObject("ADODB.Connection")conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao'cria o SQLsql = "Select * from Tabela"'executa o sql, e coloca o resultado do sql em RSset rs = conexao.execute(sql)Simples, não? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 tavicmur Postado Dezembro 22, 2004 Autor Denunciar Share Postado Dezembro 22, 2004 oi, muito obrigado, esse código parece ser mais fácil mesmo.Mas como é q significa?MapPathDBQ="&url_conexaoset rs = conexao.execute(sql) ?bom, sem querer te atrapalhar, mas você saberia me informar uma apostila sobre qsl?obrigado: TÁVI Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Dezembro 22, 2004 Denunciar Share Postado Dezembro 22, 2004 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_conexaoset 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Janeiro 13, 2005 Denunciar Share Postado Janeiro 13, 2005 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 7eu 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... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cyberalexxx Postado Janeiro 13, 2005 Denunciar Share Postado Janeiro 13, 2005 oi, muito obrigado, esse código parece ser mais fácil mesmo.Mas como é q significa?MapPathDBQ="&url_conexaoset rs = conexao.execute(sql) ?bom, sem querer te atrapalhar, mas você saberia me informar uma apostila sobre qsl?obrigado: TÁVI apostilas de sql:http://www.sqlmagazine.com.br/apostilas.asp Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 13, 2005 Denunciar Share Postado Janeiro 13, 2005 erro:Erro de tempo de execução do Microsoft VBScript error '800a01a8' Objeto necessário: 'BD' /sistema_novo/forms/inclui/justificativa_cod.asp, line 7eu 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Janeiro 13, 2005 Denunciar Share Postado Janeiro 13, 2005 <% call connect %> tão simples... e eu apanhando.......eu sei que vai fugir do assunto do tópico....mais depois pra fechar a conexão .. ela fecha sozinha ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 AndreTrickle Postado Janeiro 13, 2005 Denunciar Share Postado Janeiro 13, 2005 conexao.close Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 13, 2005 Denunciar Share Postado Janeiro 13, 2005 Se você olhar no seu codigo, tem uma função chamada DISCONNECT.. que fecha a conexao..então, basta:Call disconnectabraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 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.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 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 ??? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 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? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ViniciusJau Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 ahnn certo.. entedi agora... waleu pela paciencia hehe Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Janeiro 17, 2005 Denunciar Share Postado Janeiro 17, 2005 heheheque bom que entendeuQualquer duvida é só postarABraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
tavicmur
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!!!
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
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.