Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Scarecrow

Problemas com BD

Recommended Posts

Sou iniciante em asp e estou com problemas na gravacao de dados em um BD...o processo todo segue como deveria e até apresenta mensagem de sucesso na gravacao dos dados,mas qndo acesso o bd nao tem nada gravado...estou usando o windows xp pro,já testei no win98 com o PWS e funciona...o bd édo acess2000...algguem poderia me dar uma ideia do que estou fazendo de errado?O scripr é para anuncio(tipo classificados on line) de carros......o arquivo anuncie.asp segue abaixo:<%@language="vbscript"%><% 'ativar a checagem de erro on error resume next 'Abrir conexao com o BD anúncio set Conexao=Server.Createobject("Adodb.connection") Local="Dbq=" +Server.Mappath("../database/anuncio.mdb") Conexao.open "Driver={Microsoft Access Driver (*.mdb)};"+Local If err.number > 0 then Response.write "Estamos temporariamente fora do ar" Else ' Criação do comando de sql para listagem de frabricantes Csql="Select * from Fabricante" ' Abertura do Conjunto de dados set Tabela=Server.CreateObject("Adodb.recordset") Tabela.open Csql,Conexao, 3,3 If err.number > 0 then Response.write "Estamos temporariamente fora do ar" else %><html><head><title>Anuncie aqui!!!</title></head><body><form method="POST" action="gravar.asp"> <table border="0" width="100%"><tr> <td width="100%" colspan="2"> <p align="center"><i><font size="6" face="Arial">Anuncie sue veículo</font></i></td> </tr><tr> <td width="21%">Modelo</td> <td width="79%"><input type="text" name="modelo" size="30" maxlength="20"></td></tr><tr> <td width="21%">Fabricante</td> <td width="79%"><select size="1" name="lista"> <% do while not Tabela.eof %> <option value="<%=Tabela("codigo")%>"><%=Tabela("Nome")%></option> <% Tabela.movenext Loop End if End if Set Tabela=Nothing Set Conexao=nothing %> </select></td> </tr> <tr> <td width="21%">Ano</td> <td width="79%"><input type="text" name="ano" size="7" maxlength="4"></td> </tr> <tr> <td width="21%">Cor</td> <td width="79%"><input type="text" name="cor" size="20" maxlength="10"></td> </tr> <tr> <td width="21%">Proprietário</td> <td width="79%"><input type="text" name="prop" size="40" maxlength="30"></td> </tr> <tr> <td width="21%">Preço</td> <td width="79%"><input type="text" name="preco" size="20" maxlength="10"></td> </tr> <tr> <td width="21%">Telefone</td> <td width="79%"><input type="text" name="telefone" size="20" maxlength="15"></td> </tr> </table> <p><input type="submit" value="Registrar" name="B1"><input type="reset"value="Redefinir" name="B2"></p> </form> </body></html> //// e agora o gravar.asp<%@language="vbscript"%><% on error resume next 'Ativando tratamento de erro ' ======Abertura de conexao====== set conexao=server.createobject("adodb.connection") c="Dbq="& Server.Mappath("../database/anuncio.mdb") Conexao.open "Driver={Microsoft Access Driver (*.mdb)};" & c If err.number > 0 then Response.write " Estamos temporariamente fora do ar. Tente mais tarde." Else '========Leitura dos dados enviados pelo Formulário========= Modelo=request.form("modelo") Fabricante=request.form("lista") Ano=request.form("ano") cor=request.form("cor") Proprietario=request.form("prop") Preco=request.form("Preco") Telefone=request.form("Telefone") 'Comando de Inserção Csql=" Insert into Veiculo(Modelo,fabricante,ano,cor, proprietario,preco,telefone) " Csql=Csql+" values('" +Modelo+"',"+Fabricante+"," +ano+ ",'"+cor+"','"+Proprietario Csql=Csql+"','"+preco+"','"+telefone+"')" Conexao.execute (Csql) If err.number > 0 then response.write "Estamos temporariamente fora do ar. " Else Resposta="<center>Gravação efetuada com sucesso.<br><a" Resposta=Resposta+" href='anuncie.asp'>Voltar</a>" Response.write Resposta End if End if%> por favor me ajudem.......

Compartilhar este post


Link para o post
Compartilhar em outros sites

fala qual o erro exatamente que esta dando ?????

Informações técnicas (para a equipe de suporte)Agora nao esta dando nem a mensagem de gravacao concluida...somente este erroTipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)[Microsoft][Driver ODBC para Microsoft Access] Parâmetros insuficientes. Eram esperados 1./shopcar/root/gravar.asp, line 25Tipo de navegador: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) Página: POST 91 bytes to /shopcar/root/gravar.aspPOST Data:modelo=fdgfdgd&lista=1&ano=fdgf&cor=dfgfd∝=gdfgdfg&preco=dfdf&telefone=gdd&B1=Registrar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu mó branco na minha cabeça sobre esse erro... Mas ta dizendo que é nessa linha né?

 

If err.number > 0 then

response.write "Estamos temporariamente fora do ar. "

Else

Resposta="<center>Gravação efetuada com sucesso.<br><a"

Resposta=Resposta+" href='anuncie.asp'>Voltar</a>"

Response.write Resposta

End if

 

Faça um teste... Tire esse code que esta ai em cima... Veja no que da... Só um teste...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu mó branco na minha cabeça sobre esse erro... Mas ta dizendo que é nessa linha né?

 

If err.number > 0 then

response.write "Estamos temporariamente fora do ar. "

Else

Resposta="<center>Gravação efetuada com sucesso.<br><a"

Resposta=Resposta+" href='anuncie.asp'>Voltar</a>"

Response.write Resposta

End if

 

Faça um teste... Tire esse code que esta ai em cima... Veja no que da... Só um teste...

esta linha serve apenas para tratamento de erro...caso seja retirada a mensagem de sucesso aparecerá mas nao tera gravado,caso contrario se nao retir esta linha ou apenas comenta-la(...on error resume next ),acontece a mesma coisa...aparece msg de sucesso mas nao grava no bd.

 

 

o mais curioso é que no win98 não preciso mudar nada,funciona perfeitamente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente :<%@language="vbscript"%><% 'ativar a checagem de erroon error resume next'Abrir conexao com o BD anúncioset Conexao=Server.Createobject("Adodb.connection")Local="Dbq=" +Server.Mappath("../database/anuncio.mdb")Conexao.open "Driver={Microsoft Access Driver (*.mdb)};"+LocalIf err.number > 0 then Response.write "Estamos temporariamente fora do ar"Else ' Criação do comando de sql para listagem de frabricantesCsql="Select * from Fabricante"' Abertura do Conjunto de dadosset Tabela=Server.CreateObject("Adodb.recordset")Tabela.open Csql,Conexao, 3,3 If err.number > 0 then Response.write "Estamos temporariamente fora do ar"elseDim TesteFase TesteFase = request("Fase") If TesteFase = 1 then '========Leitura dos dados enviados pelo Formulário========= Modelo=request.form("modelo") Fabricante=request.form("lista") Ano=request.form("ano") cor=request.form("cor") Proprietario=request.form("prop") Preco=request.form("Preco") Telefone=request.form("Telefone") 'Comando de Inserção Csql=" Insert into Veiculo(Modelo,fabricante,ano,cor, proprietario,preco,telefone) " Csql=Csql+" values('" +Modelo+"',"+Fabricante+"," +ano+ ",'"+cor+"','"+Proprietario Csql=Csql+"','"+preco+"','"+telefone+"')" Conexao.execute (Csql) If err.number > 0 then response.write "Estamos temporariamente fora do ar. " Else Resposta="<center>Gravação efetuada com sucesso.<br><a" Resposta=Resposta+" href='anuncie.asp'>Voltar</a>" Response.write Resposta End if End if%><html><head><title>Anuncie aqui!!!</title></head><body><% If TesteFase<> 1 then %><form method="POST" action="gravar.asp?Fase=1"><table border="0" width="100%"> <tr><td width="100%" colspan="2"><p align="center"><i><font size="6" face="Arial">Anuncie sue veículo</font></i></td></tr> <tr> <td width="21%">Modelo</td> <td width="79%"><input type="text" name="modelo" size="30" maxlength="20"></td> </tr> <tr> <td width="21%">Fabricante</td> <td width="79%"><select size="1" name="lista"><% do while not Tabela.eof %> <option value="<%=Tabela("codigo")%>"><%=Tabela("Nome")%></option><% Tabela.movenext Loop %> </select></td> </tr> <tr> <td width="21%">Ano</td> <td width="79%"><input type="text" name="ano" size="7" maxlength="4"></td> </tr> <tr> <td width="21%">Cor</td> <td width="79%"><input type="text" name="cor" size="20" maxlength="10"></td> </tr> <tr> <td width="21%">Proprietário</td> <td width="79%"><input type="text" name="prop" size="40"maxlength="30"></td> </tr> <tr> <td width="21%">Preço</td> <td width="79%"><input type="text" name="preco" size="20" maxlength="10"></td> </tr> <tr> <td width="21%">Telefone</td> <td width="79%"><input type="text" name="telefone" size="20" maxlength="15"></td> </tr></table><p><input type="submit" value="Registrar" name="B1"><input type="reset"value="Redefinir" name="B2"></p></form> <%End if Set Tabela=NothingSet Conexao=nothing%></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente :<%@language="vbscript"%><% 'ativar a checagem de erroon error resume next'Abrir conexao com o BD anúncioset Conexao=Server.Createobject("Adodb.connection")Local="Dbq=" +Server.Mappath("../database/anuncio.mdb")Conexao.open "Driver={Microsoft Access Driver (*.mdb)};"+LocalIf err.number > 0 then Response.write "Estamos temporariamente fora do ar"Else ' Criação do comando de sql para listagem de frabricantesCsql="Select * from Fabricante"' Abertura do Conjunto de dadosset Tabela=Server.CreateObject("Adodb.recordset")Tabela.open Csql,Conexao, 3,3 If err.number > 0 then Response.write "Estamos temporariamente fora do ar"elseDim TesteFase TesteFase = request("Fase") If TesteFase = 1 then '========Leitura dos dados enviados pelo Formulário========= Modelo=request.form("modelo") Fabricante=request.form("lista") Ano=request.form("ano") cor=request.form("cor") Proprietario=request.form("prop") Preco=request.form("Preco") Telefone=request.form("Telefone") 'Comando de Inserção Csql=" Insert into Veiculo(Modelo,fabricante,ano,cor, proprietario,preco,telefone) " Csql=Csql+" values('" +Modelo+"',"+Fabricante+"," +ano+ ",'"+cor+"','"+Proprietario Csql=Csql+"','"+preco+"','"+telefone+"')" Conexao.execute (Csql) If err.number > 0 then response.write "Estamos temporariamente fora do ar. " Else Resposta="<center>Gravação efetuada com sucesso.<br><a" Resposta=Resposta+" href='anuncie.asp'>Voltar</a>" Response.write Resposta End if End if%><html><head><title>Anuncie aqui!!!</title></head><body><% If TesteFase<> 1 then %><form method="POST" action="gravar.asp?Fase=1"><table border="0" width="100%"> <tr><td width="100%" colspan="2"><p align="center"><i><font size="6" face="Arial">Anuncie sue veículo</font></i></td></tr> <tr> <td width="21%">Modelo</td> <td width="79%"><input type="text" name="modelo" size="30" maxlength="20"></td> </tr> <tr> <td width="21%">Fabricante</td> <td width="79%"><select size="1" name="lista"><% do while not Tabela.eof %> <option value="<%=Tabela("codigo")%>"><%=Tabela("Nome")%></option><% Tabela.movenext Loop %> </select></td> </tr> <tr> <td width="21%">Ano</td> <td width="79%"><input type="text" name="ano" size="7" maxlength="4"></td> </tr> <tr> <td width="21%">Cor</td> <td width="79%"><input type="text" name="cor" size="20" maxlength="10"></td> </tr> <tr> <td width="21%">Proprietário</td> <td width="79%"><input type="text" name="prop" size="40"maxlength="30"></td> </tr> <tr> <td width="21%">Preço</td> <td width="79%"><input type="text" name="preco" size="20" maxlength="10"></td> </tr> <tr> <td width="21%">Telefone</td> <td width="79%"><input type="text" name="telefone" size="20" maxlength="15"></td> </tr></table><p><input type="submit" value="Registrar" name="B1"><input type="reset"value="Redefinir" name="B2"></p></form> <%End if Set Tabela=NothingSet Conexao=nothing%></body></html>

apareceu a seguinte msg de erroTipo de erro:Erro de compilação do Microsoft VBScript (0x800A0408)Caractere inválido/shopcar/root/anuncia.asp, line 66, column 15do while not Ta`bela.eof

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente:<% While Not Tabela.EOF %> <option value="<%=Tabela("codigo")%>"><%=Tabela("Nome")%></option><% Tabela.movenext Wend%>

mais um erro......Tipo de erro:Erro de compilação do Microsoft VBScript (0x800A03F6)'End' esperado/shopcar/root/anuncie.asp, line 44

Compartilhar este post


Link para o post
Compartilhar em outros sites

Scarecrow Substitua os valores de "+" por "&". Vai funcionar. Abraços W.Silva

W.Silva...nao funcionou.segue o erro:Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][Driver ODBC para Microsoft Access] A operação deve usar uma consulta atualizável./shopcar/root/gravar.asp, line 25

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um tempinho, to ocupadinho agora. Vida de suporte é fogo. Não vejo a hora de entrar na vida de desenvolvimento

Nem fale.. larguei a vida de suporte pra vida de desenvolvedor.. heheh melhor coisa do mundo!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, até sonho no dia que vou trabalhar com desenvolvimento!!! Suporte é fogo, só nego fazendo coisa errada e o SEU SISTEMA QUE NÃO PRESTA!!! Sai fora............... Meus cabelos já estão caindo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Scarecrow Substitua os valores de "+" por "&". Vai funcionar. Abraços W.Silva

W.Silva...nao funcionou.segue o erro:Tipo de erro:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][Driver ODBC para Microsoft Access] A operação deve usar uma consulta atualizável./shopcar/root/gravar.asp, line 25
você deve compartilhar sua pasta de bd...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera,alguem encontrou alguma luz no fim deste tunel para me ajudar????????

é esse mesmo o gravar.asp ????pq a linha 25 é outra coisa que não tem nada a ver pelo código postado acima a linha 25 estaria assim ?
TesteFase = request("Fase")
e a treta da linha atualizável seria algo na hora que você monta o recordset mostra a linha 25 no seu do jeito que esta ai
da uma olhadinha por favor no inicio deste topico lá estão os dois codigos (anuncie e gravar.asp)valeu.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.